diff --git a/openspec/changes/add-group-buying/specs/order/spec.md b/openspec/changes/add-group-buying/specs/order/spec.md index 1cef01f..d61547d 100644 --- a/openspec/changes/add-group-buying/specs/order/spec.md +++ b/openspec/changes/add-group-buying/specs/order/spec.md @@ -30,7 +30,7 @@ Status transitions SHALL be: pending_payment → paid → fulfilling → shipped - **WHEN** payment fills the final available group seat - **THEN** the payment succeeds and the group state becomes successful -#### Scenario: cancel restores stock without group rollback +#### Scenario: cancel restores stock - **WHEN** a customer cancels a pending_payment group-intent order - **THEN** SKU stock increases by the ordered qty, status is cancelled, and no paid group membership is removed diff --git a/openspec/specs/address-book/spec.md b/openspec/specs/address-book/spec.md index 68202a0..329a80b 100644 --- a/openspec/specs/address-book/spec.md +++ b/openspec/specs/address-book/spec.md @@ -1,7 +1,8 @@ # address-book Specification ## Purpose -TBD - created by archiving change replace-mock-api-wave-7. Update Purpose after archive. +Let a signed-in customer keep a reusable book of shipping addresses: owner-scoped list, create, update and delete, plus exactly one database-enforced default per customer. Introduced when the mall's fixture address book was replaced with live data (replace-mock-api-wave-7); checkout still submits its own inline shipping-address snapshot rather than a saved address id. + ## Requirements ### Requirement: Saved shipping addresses A customer SHALL be able to list, create, update and delete their own shipping addresses through the API. Every address operation SHALL be scoped to the authenticated customer; operating on another user's address SHALL return 404. Non-customer roles SHALL be rejected with 403.