storebound/tests
CRT c9a7f095c4 console: agent-first mode (console plan / console verify), verified App Privacy and Play Create app facts
- `storebound console plan <form> [--json] [--lookup]`: read-only plan for an AI agent that drives the browser
  itself: start URL (deep links), ordered steps, answer sheet with the console's exact labels (certain / ask owner,
  curly quotes noted), never-press list, verified UI facts, driving guidance (in-page async loop + window.__log),
  verify instructions. All six forms.
- `storebound console verify <form> [--from-text <file|->]`: App Privacy per-type summaries from page text, Play
  Create app from input states, content rating / target audience summaries, App Store record and age rating from
  the API; exit 1 on a mismatch.
- MCP: console_plan, console_verify (read-only); console fill stays off MCP.
- App Privacy (verified 2026-10-12): two information steps, unlabeled purpose checkboxes (nearest parent text),
  "Definitions and Examples" never pressed; fixture and engine follow.
- Play Create app (verified 2026-10-12): /developers/<id>/create-new-app, App package name + read-only Check
  availability, material-radio inner [role=radio] click, app dashboard URL and play.appId, service account
  "Add app" as an owner step.
- console-autofill skill rewritten agent-first; agents-core rule 10; README; pitfalls 12, 18 (confirmed sign-out),
  19; CHANGELOG; play-first-release.
2026-10-12 08:39:12 +08:00
..
fixtures console: agent-first mode (console plan / console verify), verified App Privacy and Play Create app facts 2026-10-12 08:39:12 +08:00
helpers tests: profile persistence runs in a real Chrome, in its own shard 2026-10-12 06:27:42 +08:00
adhoc.test.ts growth extras: prices ppp, ads apple, web, apple adhoc, play share, revenuecat, console fill (+ desktop button) 2026-10-12 00:14:00 +08:00
analytics.test.ts Analytics snapshots: storebound analytics setup | snapshot | compare, store-analytics skill 2026-10-10 23:28:10 +08:00
api.test.ts storebound api: every App Store Connect and Google Play operation 2026-10-11 23:37:09 +08:00
app-privacy.test.ts console fill: walk the whole form; the owner only reviews and presses the final button 2026-10-12 06:51:01 +08:00
apple-ads.test.ts growth extras: prices ppp, ads apple, web, apple adhoc, play share, revenuecat, console fill (+ desktop button) 2026-10-12 00:14:00 +08:00
apple-name.test.ts apple.name: the App Store name when the plain name is taken; console fill, apple listing, pull, check (30-char error, same-name hint), scan use it 2026-10-12 03:23:43 +08:00
apps.test.ts check: name the missing file and the fix instead of a raw ENOENT; clearer demo account message; hero shows the new output 2026-10-11 03:54:03 +08:00
aso-plus.test.ts aso: competitors, suggest and audit from official data; ASO card on the Growth tab 2026-10-12 04:09:34 +08:00
browser-resolve.test.ts console fill: never copy Google session cookies by default (device-bound); own profile in a Chrome started without automation switches 2026-10-12 07:46:38 +08:00
build-fixtures.ts Signing, builds, uploads and an originality check 2026-10-11 23:42:48 +08:00
build-sign.test.ts Signing, builds, uploads and an originality check 2026-10-11 23:42:48 +08:00
capture-web.test.ts fast ci: task graph runner, sharded tests balanced by recorded durations, ci:quick (typecheck + related tests + scrub), Rust only when src-tauri / sidecar build changed, event waits instead of sleeps 2026-10-12 05:05:26 +08:00
ci-plan.test.ts ci:quick: browser suites only for nearby imports (full ci runs them always) 2026-10-12 05:08:23 +08:00
cli-help.test.ts shots check: ligatures no longer read as system-font glyphs (probe spans shaped as one run); --help on every command and group, unknown flags rejected before anything runs 2026-10-12 05:23:37 +08:00
console-app-id.test.ts console fill: one app shown twice is one app; App Privacy opens by app id via the API 2026-10-12 06:32:21 +08:00
console-fill.test.ts console: agent-first mode (console plan / console verify), verified App Privacy and Play Create app facts 2026-10-12 08:39:12 +08:00
console-flow.test.ts console: agent-first mode (console plan / console verify), verified App Privacy and Play Create app facts 2026-10-12 08:39:12 +08:00
console-persist.test.ts tests: profile persistence runs in a real Chrome, in its own shard 2026-10-12 06:27:42 +08:00
console-plan.test.ts console: agent-first mode (console plan / console verify), verified App Privacy and Play Create app facts 2026-10-12 08:39:12 +08:00
console-session.test.ts console fill: never copy Google session cookies by default (device-bound); own profile in a Chrome started without automation switches 2026-10-12 07:46:38 +08:00
desktop-complete.test.ts app privacy: one Apple purpose per Play purpose (advertising is Third-Party Advertising only; Developer's Advertising only from the owner), appPrivacy.types (owner answers per Apple type id: certain in console fill, proposed by scan without linked / tracking, compared by check with Info.plist and PrivacyInfo.xcprivacy) 2026-10-12 04:07:15 +08:00
desktop-d2.test.ts Sidecar leak check: skip a generic build home (/root in a CI container is a substring of the bun runtime itself); privacy-scan still checks every home 2026-10-11 05:38:41 +08:00
desktop-d3.test.ts storebound api: every App Store Connect and Google Play operation 2026-10-11 23:37:09 +08:00
desktop-dist.test.ts storebound desktop: open the desktop app (with the current app folder) or show the download for this system; --download saves it to ~/Downloads after checking SHA-256 and the minisign signature, never installs 2026-10-11 05:16:59 +08:00
desktop-real-reads.test.ts Real-account read check of the desktop tabs: analytics snapshot stops when every store failed, compare names why a store has no days (Growth shows it), listing screenshot count skips contact sheets; Growth chart as an index on one axis; recorded price answers round-trip the price sheet 2026-10-11 08:06:26 +08:00
desktop-release.test.ts Desktop release pipeline: privacy scan of every artifact, path-free builds, macOS universal app + DMG (Developer ID + notarization or an ad-hoc -unsigned preview) with self-tests of the exact artifacts, signed latest.json, Forgejo workflow for Linux and Windows, root-owned publish step for storebound.dev 2026-10-11 05:16:59 +08:00
fastlane.test.ts store-locales: verify App Store and Play codes against the official lists (2026-10-11), drop zu, aliases for the 2025 languages, tests 2026-10-11 07:37:18 +08:00
fixtures.ts Tests: gallery data and HTML, variant paths, contact sheet layout 2026-10-10 22:16:38 +08:00
flow.test.ts flows, listing translate, scan 2.2 + --originality, prices export with subscriptions, site sections 2026-10-12 01:24:21 +08:00
gallery.test.ts shots: glyph coverage check per language, automatic Noto fallbacks, check errors on fallback / system-font glyphs 2026-10-12 03:05:23 +08:00
glyph-ligatures.test.ts shots check: ligatures no longer read as system-font glyphs (probe spans shaped as one run); --help on every command and group, unknown flags rejected before anything runs 2026-10-12 05:23:37 +08:00
glyphs.test.ts shots: glyph coverage check per language, automatic Noto fallbacks, check errors on fallback / system-font glyphs 2026-10-12 03:05:23 +08:00
growth-config.test.ts console: agent-first mode (console plan / console verify), verified App Privacy and Play Create app facts 2026-10-12 08:39:12 +08:00
health.test.ts Guarded read-only run of the Play POST read paths: errorIssues:search in UTC, issues failure keeps the vitals, read-only listing / images dry runs 2026-10-11 08:41:55 +08:00
idempotency.test.ts idempotency: apple listing findOrCreate / createOnce, play listing re-plan in the edit, data-safety hash, twice-run tests for the last open rows 2026-10-12 04:24:45 +08:00
listing-plan.test.ts apple listing, play listing, apple appinfo: the dry run prints a real plan (version decision, old -> new per field, draft locales skipped); the real run asks and applies exactly it 2026-10-12 03:29:38 +08:00
listing-translate.test.ts listing check: App Store keywords shown and limited in UTF-8 bytes (96/100 B), other fields in characters 2026-10-12 04:10:28 +08:00
live-reads-2.test.ts tests: all-zero placeholder profile uuid (scrub) 2026-10-12 01:28:32 +08:00
local-fonts.test.ts shots fonts: local font files (title / body / fallback) with cmap coverage, served in place, hash in fonts.json, license note 2026-10-12 04:15:19 +08:00
mcp.test.ts MCP 2026-07-28: stateless revision with server/discover and per-request _meta, still 2025-11-25 compatible 2026-10-10 23:28:10 +08:00
no-handmade-svg.test.ts growth extras: prices ppp, ads apple, web, apple adhoc, play share, revenuecat, console fill (+ desktop button) 2026-10-12 00:14:00 +08:00
originality.test.ts flows, listing translate, scan 2.2 + --originality, prices export with subscriptions, site sections 2026-10-12 01:24:21 +08:00
pitfalls.test.ts pitfalls: apple listing dry run prints a plan now, its allow entry removed 2026-10-12 03:42:45 +08:00
play-post-reads.test.ts play images: tablet, TV and Wear sets are optional; play.tablets switch (default: tablet renders exist); a missing optional set never deletes Play's images without --prune 2026-10-12 08:21:03 +08:00
portfolio.test.ts CLI for desktop D2: doctor, inspect --icon / --listings, reviews drafts / approve, init --dry from embedded templates, iOS phased release share, playwright as optional peer (sidecar bundles playwright-core) 2026-10-11 03:34:45 +08:00
ppo.test.ts Product Page Optimization through the API (apple ppo) and an optional 6.3" iPhone size key 2026-10-10 23:28:10 +08:00
ppp.test.ts growth extras: prices ppp, ads apple, web, apple adhoc, play share, revenuecat, console fill (+ desktop button) 2026-10-12 00:14:00 +08:00
prices.test.ts flows, listing translate, scan 2.2 + --originality, prices export with subscriptions, site sections 2026-10-12 01:24:21 +08:00
privacy-scan.test.ts privacy-scan: allow GTK 3's upstream icon export paths (exact prefixes) that linuxdeploy bundles into the AppImage 2026-10-11 06:04:44 +08:00
pure.test.ts Rename to storebound (plugin, CLI, config file, credentials folder, repo) 2026-10-10 20:35:26 +08:00
release-train.test.ts CLI workspace for many apps and studios, credential profiles, release trains (release status / plan) 2026-10-11 23:35:45 +08:00
revenuecat.test.ts growth extras: prices ppp, ads apple, web, apple adhoc, play share, revenuecat, console fill (+ desktop button) 2026-10-12 00:14:00 +08:00
reviews.test.ts Review replies: storebound reviews list | draft | send, review-replies skill 2026-10-10 23:28:10 +08:00
scan.test.ts scan: TODO / TBD / FIXME / XXX count as placeholder markers only in capitals ('todo' is a real keyword for to-do apps) 2026-10-12 05:06:23 +08:00
serve.test.ts console: agent-first mode (console plan / console verify), verified App Privacy and Play Create app facts 2026-10-12 08:39:12 +08:00
shots.test.ts Tests: capture config, simctl / adb argv builders, frame checks 2026-10-10 21:30:40 +08:00
site-overflow.test.ts fast ci: task graph runner, sharded tests balanced by recorded durations, ci:quick (typecheck + related tests + scrub), Rust only when src-tauri / sidecar build changed, event waits instead of sleeps 2026-10-12 05:05:26 +08:00
specs.test.ts shots: glyph coverage check per language, automatic Noto fallbacks, check errors on fallback / system-font glyphs 2026-10-12 03:05:23 +08:00
store-apps.test.ts apps / health / catalog / validate: fixes from a read-only run against live store accounts 2026-10-11 04:50:26 +08:00
store-ops-apple.test.ts idempotency: WIP 2026-10-12 04:00:58 +08:00
store-ops-reports.test.ts Merge store-ops: TestFlight wait / expire, IAP review submissions, pulls, offers, CPP, events, reports, triage, ASO rank, ads scan 2026-10-12 00:07:26 +08:00
store-ops-text.test.ts apple.name: the App Store name when the plain name is taken; console fill, apple listing, pull, check (30-char error, same-name hint), scan use it 2026-10-12 03:23:43 +08:00
store-real-shapes.test.ts apps / health / catalog / validate: fixes from a read-only run against live store accounts 2026-10-11 04:50:26 +08:00
teaser.test.ts teaser v6: 55.5 s, v5 kept, its desktop part grown to four scenes 2026-10-12 02:32:53 +08:00
testflight.test.ts TestFlight through the App Store Connect API: apple testflight status | groups | testers | what-to-test | info | distribute 2026-10-10 23:28:10 +08:00
tools-path.test.ts tools: also look in the Android SDK folder Android Studio installs and in Homebrew, for apps started without a shell PATH 2026-10-11 09:51:22 +08:00
tools.test.ts privacy-scan: AppImage squashfs found at the end of the ELF runtime (the runtime contains the magic too); a generic home (/root) is not a term. tools test: 30s timeout (detectTools runs every version command) 2026-10-11 05:59:40 +08:00
video.test.ts Tests: clip planning, ffmpeg argv, time codes, probe checks, recording argv, preview sets, promo video 2026-10-10 22:22:52 +08:00
wave1.test.ts apple iap-review: size check before upload, delivery state read back after (FAILED shown with Apple's reason), dry run names why it would upload, MISSING_METADATA explained per part; check flags non-screenshot sizes offline 2026-10-12 03:24:41 +08:00
web.test.ts growth extras: prices ppp, ads apple, web, apple adhoc, play share, revenuecat, console fill (+ desktop button) 2026-10-12 00:14:00 +08:00
workspace.test.ts console fill: sign-in detected by URL, frame and text; keeps watching after the fallback; session kept across relaunches; one login across Play developer accounts and App Store Connect teams 2026-10-12 02:54:48 +08:00