28 lines
1.4 KiB
Markdown
28 lines
1.4 KiB
Markdown
---
|
|
type: User Story
|
|
title: "US-006: Cancel an owned quest"
|
|
description: Let an issuer cancel an active quest and reclaim its escrowed reward safely.
|
|
status: done
|
|
---
|
|
|
|
# US-006: Cancel an owned quest
|
|
|
|
As a **quest issuer**, I want to cancel my active quest so that I can reclaim the reward when I no longer need the requested blocks.
|
|
|
|
## Acceptance criteria
|
|
|
|
- [x] An issuer can cancel their own active quest through any registered board.
|
|
- [x] A player cannot cancel a quest issued by another player.
|
|
- [x] Completed, cancelled, and expired quests cannot be cancelled.
|
|
- [x] Cancellation removes the quest from active listings and converts its exact escrowed reward into a claim for the issuer.
|
|
- [x] The reward is not inserted directly into the issuer's inventory during cancellation.
|
|
- [x] When player commands are enabled, `/quests cancel <quest>` provides equivalent behavior and only autocompletes the player's cancellable quest identifiers.
|
|
- [x] Cancellation and simultaneous completion are serialized so items cannot be duplicated or lost.
|
|
- [x] Persistence failure leaves the quest active and its reward escrowed.
|
|
- [x] Automated tests verify ownership, state validation, claim creation, autocomplete, rollback, and completion races.
|
|
|
|
## Related
|
|
|
|
- [US-003: Create a block-delivery quest](us-003-create-a-block-delivery-quest.md)
|
|
- [US-007: Expire quests and claim held items](us-007-expire-quests-and-claim-held-items.md)
|