storebound/tools
CRT 8ffc83bb39 console fill: walk the whole form; the owner only reviews and presses the final button
App Privacy stopped at "now click Get Started yourself" and every page
asked the owner to click Next. The owner should not click what
storebound can safely do.

- Every button of every console form is classified (navigation,
  draft-save, final-submit) in FORM_BUTTONS (cli/lib/console-forms.ts),
  citing Apple's and Google's help pages. A scoped flow gate
  (flowAllowed) lets navigation through; the generic click gate stays
  absolute for field clicks.
- App Privacy: Get Started, Edit next to Data Types (never the Privacy
  Policy Edit), each data type / "Set Up <type>", Next, and the Save
  inside the questionnaire dialogs (a draft: Apple publishes only after
  Publish, per "Manage app privacy"). Each type's dialog may be one page
  or purposes > Next > linked > Next > tracking > Save. It ends with
  "review the summary, then press Publish yourself". Publish is never
  clicked.
- Play content rating and target audience: Next by itself. Save draft,
  Submit, the final Save, Create and Create app stay the owner's.
- An uncertain answer stops the walk on its page (outlined, "answer
  needed on ...") until the owner has set it; then it goes on.

Fixture apple-app-privacy-flow.html (first time, ?existing=1, decoys);
tests/console-flow.test.ts with the guardrail that no log line asks the
owner to click a navigation control.
2026-10-12 06:51:01 +08:00
..
vds 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
brand-assets.py New logo from one master: brand/, tools/brand-assets.py makes every app icon, favicon, header mark and og image; no hand-written SVG left 2026-10-11 10:13:13 +08:00
build-sidecars.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
ci-plan.ts console fill: walk the whole form; the owner only reviews and presses the final button 2026-10-12 06:51:01 +08:00
ci.ts ci: Chromium hint only when browser steps run 2026-10-12 05:10:27 +08:00
desktop-boot-check.ts Desktop: never a blank window (frozen-prototype fix, error screens, logs, state migration, boot check) 2026-10-11 09:36:34 +08:00
desktop-release.ts Desktop: never a blank window (frozen-prototype fix, error screens, logs, state migration, boot check) 2026-10-11 09:36:34 +08:00
desktop-version.ts Desktop D5: one desktop version (package.json desktopVersion) checked in CI; updater public key; NSIS per user with the WebView2 bootstrapper 2026-10-11 05:16:59 +08:00
diagrams.ts No hand-written SVG: visx charts, lucide icons, Mermaid journey diagram 2026-10-11 08:49:30 +08:00
fixture-art.ts Phosphor icons and the real store marks 2026-10-11 09:00:46 +08:00
gen-adapters.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
gen-api.ts storebound api: every App Store Connect and Google Play operation 2026-10-11 23:37:09 +08:00
gen-flags.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
i18n-check.ts Desktop D2 UI: design system, portfolio, release timeline, catalog parity, listings, health, reviews, TestFlight, checks, command palette, toasts, first-run guide, en + tr with i18n check, 7:1 theme check, dev fixture mode and screenshot harness 2026-10-11 03:34:47 +08:00
privacy-scan.ts privacy-scan: a partial upstream path in a container's compressed bytes is left to the full check of the unpacked file 2026-10-11 06:09:49 +08:00
scrub.ts storebound scan: offline rejection-risk scan of the project itself 2026-10-11 23:20:55 +08:00
site-icons.ts teaser v4: calm 60 s 16:9 cut, from an empty folder to ready on both stores 2026-10-12 01:48:03 +08:00
tools-manifest.ts Desktop host: offline read cache (SQLite), job ids for progress and cancel, parallel live portfolio, project init, verified ffmpeg / Chrome for Testing downloads into app data 2026-10-11 03:34:46 +08:00
update-ppp.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