From bcd97ab48fb8e064c1338126fae89f0ceac3052e Mon Sep 17 00:00:00 2001 From: Zhang Chengdong Date: Fri, 18 Sep 2026 11:54:44 +0000 Subject: [PATCH] docs(openspec): fix group-buying archive scenario and address-book purpose Rename the group-buying "Order lifecycle" cancel scenario to the exact name the current order spec uses; a MODIFIED requirement replaces the whole block, so the old name made archive refuse to drop the existing scenario. Replace the placeholder Purpose in the archived address-book spec, which the wave-7 archive left as TBD and strict validation rejected. openspec validate --all --strict is green again. --- openspec/changes/add-group-buying/specs/order/spec.md | 2 +- openspec/specs/address-book/spec.md | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) 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.