docs(openspec): propose 8 tigshop migration changes (P0-P7) + migration plan

This commit is contained in:
Chengdong Zhang
2026-09-23 13:30:36 +08:00
parent 0d0e10b97b
commit 9a749e2551
47 changed files with 1607 additions and 0 deletions
@@ -0,0 +1,29 @@
## Why
The order lifecycle currently stops after confirmation of delivery. Without a per-line after-sale and refund path, a paid order has no marketplace-safe recovery when goods or fulfillment fail. This is a baseline commerce gap, not an optional enhancement.
## What Changes
- Add customer-owned refund-only and return-refund applications for paid or shipped order items, with localized reasons, integer minor-unit amounts, and evidence URLs.
- Add guarded merchant decisions, buyer return tracking, bilateral messages, one-time rejected appeals, and optional platform arbitration.
- Credit completed refunds to `customer_accounts` through the existing append-only ledger and aggregate refunded order totals without a real payment gateway.
- Expose the flow in Mall, shop-admin, and platform-admin while preserving a deterministic Mall mock adapter and `LIVE_PICKS` wiring.
## Capabilities
### New Capabilities
- `aftersale`: Per-order-item applications, state transitions, messages, arbitration, and ledger-backed refund completion.
### Modified Capabilities
- `order`: After-sale eligibility windows, per-line refundable amounts, and authoritative refund totals.
- `frontend-mall`: Customer after-sale application, tracking, messages, and history surfaces.
- `frontend-shop-admin`: Shop-scoped after-sale processing workspace.
- `frontend-admin`: Platform read-only monitoring and dispute arbitration.
## Non-goals
Real payment-channel refunds, exchanges, reshipments, shipping insurance, and IM negotiation are excluded; messages replace live negotiation.
## Impact
Adds one after-sale migration, shared API contracts, Rust module and integration coverage, customer and console pages, fixed-adapter parity, and account-ledger/order-total integration.