# STORE_STATUS · Key Resonance Destiny

_Updated by store-prep pass · base branch: `cursor/web-author-preview-fa3b` (compilable clean source)._

## TL;DR
- ✅ Compiles clean, tests green, **web release** and **Android AAB** build successfully.
- ✅ Parameter freeze **2026-08-11** recorded in code + guarded by tests.
- ⛔ **Not yet submittable as the full product.** The shippable artifact here is the
  simplified core BaZi app. The mature 合冲生克 quantitative model + full report/UI
  (`bqm_sheng_ke` / `bqm_v8` / `energy_rules` / `key_energy_rules` / verdict pages) exists
  only in corrupted branches and does not compile.
- ⛔ **No live payments.** Stripe is a dev stub; no real Price IDs.

## Branch / source reality
| Branch | Structure | `dart analyze lib` errors | Notes |
|---|---|---|---|
| `web-author-preview-fa3b` | 24 lib files (core app) | **0** | Compilable clean source — this build |
| `full-site-fix-ae1a` | 193 lib files (mature app) | **13,832** | Structure restored, contents corrupted |
| `main` / `bazi-work-patterns-ea77` | 430 flat root files | ~37,000 | Original flat recovery dump |

`cursor/glyph-base-onion-4b19` (requested) does not exist in the remote.

The corruption is a lossy recovery artifact (duplicated + dropped lines, missing bodies/fields).
It cannot be reliably auto-repaired without the original pre-dump source.

## Build verification (this branch)
| Check | Result |
|---|---|
| `flutter pub get` | OK |
| `dart analyze lib` | 0 errors (6 info; no warnings) |
| `flutter test` | All green (widget + frozen-params) |
| `flutter build web --release` (AUTHOR_PREVIEW=false, STRIPE_DEMO=false) | `build/web` |
| `flutter build appbundle --release` | `build/app/outputs/bundle/release/app-release.aab` (~50 MB) |

Build command: `BUILD_AAB=1 ./tool/store_build.sh`.

## Parameter freeze — 作者定稿 2026-08-11
Canonical constants: `lib/data/sheng_ke_params_2026_08_11.dart`,
`lib/data/ling_di_yun_params_2026_08_11.dart`. Guarded by
`test/frozen_params_2026_08_11_test.dart`.
- 大运叠能 ×1.0；小运 ×1/8 = 0.125（不再用 c2ecb89 的 ×1/4）。
- 地＝令后 ×1/4；令囚 ⅞=0.875；令死 ⅜=0.375。
- 合 A−¼ B−¼ C＋½；冲 A−½ B−⅝；生 A−¼ B＋¼；克 A−⅛ B−⅜；刑双方 −¼；害各自 −⅜；破(A生B) A−¼ B−⅛。

⚠️ These constants are recorded and tested, but the mature engine that consumes them
(`bqm_*`, `key_energy_rules`) is not present in a compilable form on any branch, so the
values are **not yet wired into a running quantitative pipeline**. Integrate them when the
mature source is recovered (drop-in replacement of the corresponding `kShengKe*` / `kBqm*` /
`kXiaoYunStack` definitions).

## Legal / store materials
- `assets/legal/privacy.html`, `terms.html`, `disclaimer.html` — drafts; **need legal review**.
- `store/listing_copy.txt` — EN/ZH listing copy + frozen-parameter block.
- Screenshots — capture from the running web/app build for the store screenshot slots.

## IAP / Stripe (step 7)
- `lib/services/stripe_service.dart` is a **stub** (dev-mode auto-succeed / author unlock).
- No real product Price IDs — treat all pricing as `price_REPLACE_*`.
- **Do not claim a payable store listing until real Stripe/Play/App Store Price IDs are wired.**

## Remaining blockers to true submission
1. Recover an uncompilable-free mature source (or re-generate from the original project) and
   integrate the 2026-08-11 constants.
2. Wire real payment Price IDs (Stripe + platform IAP).
3. Finalize legal copy (privacy / terms / disclaimer) with counsel.
4. Produce final store screenshots and metadata.
