chore(openspec): archive add-flash-sales

Sync the flash-sales capability plus the order, frontend-mall, and
frontend-shop-admin requirements into the main specs, and write the capability
Purpose the archive leaves as a placeholder.

Restate the flash-price and coupon-exclusion scenarios in the group-buying
order delta, since its MODIFIED checkout block must carry the scenarios the main
order spec now has.
This commit is contained in:
2026-09-18 12:53:26 +00:00
parent b15a246c3f
commit c93bff28b0
13 changed files with 85 additions and 12 deletions
+15
View File
@@ -181,3 +181,18 @@ The mall SHALL display live published points products and the signed-in customer
#### Scenario: redeem available product
- **WHEN** a signed-in shopper with enough points redeems a published in-stock product
- **THEN** the mall shows the created redemption order and refreshed points balance
### Requirement: Live flash-sale page
The mall SHALL render active flash-sale sessions and activity products from the shared API client, including authoritative activity price, remaining stock, and sell-through. It SHALL replace `SECKILL_SESSIONS` and derived fixed product data. Shoppers SHALL purchase through the existing cart and checkout; payment and order-detail views SHALL show the snapshotted activity unit price from the order payload. This change SHALL NOT add flash-sale prices, badges, or claim CTAs to the catalog product-detail page (`/goods/[id]`); that page keeps catalog SKU pricing.
#### Scenario: choose live session
- **WHEN** a shopper selects an active flash-sale session
- **THEN** its live eligible products and countdown render without direct fixture imports
#### Scenario: order shows flash snapshot
- **WHEN** checkout applies a flash-sale price
- **THEN** payment and order-detail views show that unit price from the order payload
#### Scenario: product detail stays on catalog price
- **WHEN** a shopper opens a catalog product that is also in an active flash-sale session
- **THEN** the product-detail page still shows catalog SKU prices and does not require a flash-sale overlay in this change