Files
vmall/openspec/specs/shipment/spec.md
T
james 2136a48fbe chore(openspec): archive the mock-migration waves and green the spec set
Archive the three completed changes behind replace-mock-api-wave-1/2/3. Each
merge applied cleanly to the main specs:

- catalog gains the Public product browse requirement (subtree filtering and
  price sort)
- frontend-mall picks up the per-domain adapter, the pinned home page, the
  discovery-page changes, the live auth panels and the live transaction flows
- cart's Server-side cart requirement now documents the shop and stock carried
  by every line

Also replace the TBD Purpose placeholder in all eleven specs with a one-line
description of what each capability covers. Those placeholders predate this
work and were the only reason `openspec validate --all --strict` reported
0 passed / 11 failed; it now reports 11 passed / 0 failed.
2026-09-17 16:36:10 +00:00

26 lines
1.1 KiB
Markdown

# shipment Specification
## Purpose
Shop-created shipments and buyer-confirmed delivery.
## Requirements
### Requirement: Shipment creation
Merchants SHALL create shipments (发货单) for their own orders in `paid` or `fulfilling` status, specifying carrier, tracking_no and per-item quantities.
#### Scenario: partial shipment
- **WHEN** an order has 3 units of item X and a shipment covers 2
- **THEN** a later shipment may cover the remaining 1; requesting more than the remainder returns 400
#### Scenario: status propagation
- **WHEN** the first shipment is created for a paid order
- **THEN** the order becomes `fulfilling`
- **WHEN** all ordered quantities are covered by shipped shipments
- **THEN** the order becomes `shipped`
### Requirement: Delivery confirmation
Customers SHALL confirm delivery of their own shipments; when every shipment of an order is delivered the order becomes `completed`.
#### Scenario: confirm delivered
- **WHEN** the customer confirms the only shipment of a shipped order
- **THEN** shipment becomes `delivered` and the order `completed`