Files
james 82c1e8e4bb chore(openspec): archive add-points-mall
Sync the points-mall capability plus the frontend-mall and frontend-admin
requirements into the main specs, and write the capability Purpose the archive
leaves as a placeholder.
2026-09-18 12:43:18 +00:00

28 lines
1.5 KiB
Markdown

## Why
The mall exposes a fixed points-store page and a fixed points balance. A real points mall needs a dedicated redemption order lifecycle and must consume the customer-account ledger rather than treat points as an unguarded profile field.
## What Changes
- Add platform-managed points products with localized catalog content, integer point price, stock, availability, and images.
- Add points redemption orders and immutable redemption-line snapshots, separate from cash orders and payments.
- Debit points and decrement redemption stock atomically; reject insufficient points, inactive products, and unavailable stock.
- Seed demo spendable points only through the archived customer-accounts credit path (immutable entry); do not treat seed as an earning campaign.
- Add customer browsing, redemption, and redemption-history APIs; add platform product and redemption-order management; replace mall fixtures.
## Capabilities
### New Capabilities
- `points-mall`: Points product catalog and atomic customer redemption orders.
### Modified Capabilities
- `frontend-mall`: Points mall and balance surfaces use live APIs.
- `frontend-admin`: Platform operators manage points products and redemption fulfillment.
## Non-goals
This change does not grant points, accept cash co-payments, share normal SKU inventory, add coupons to redemptions, or add customer withdrawals.
## Impact
Depends on archived `customer-accounts`; adds Rust points module/migrations, shared contract/locales, mall and admin routes, and points-redemption integration tests.