--- type: User Story title: "US-007: Expire quests and claim held items" description: Hold delivered blocks and returned rewards until their owner safely claims them. status: done --- # US-007: Expire quests and claim held items As a **quest issuer**, I want delivered blocks and returned rewards held at the shared quest board so that I can retrieve them safely. ## Acceptance criteria - [x] An uncompleted quest expires seven days after its creation time. - [x] Expiration removes the quest from active listings and converts its exact escrowed reward into a claim for the issuer. - [x] Completed-quest claims contain the exact block items delivered by the completing player. - [x] Claims from completion, cancellation, and expiration can be collected through any registered board. - [x] The board clearly distinguishes delivered blocks from returned rewards. - [x] Online issuers receive a real-time message when items become claimable. - [x] Offline issuers receive a message on their next login. - [x] When player commands are enabled, `/quests claim` collects the same pending claims. - [x] Items are inserted into the claimant's inventory where space permits; overflow is dropped safely at their feet with a clear message. - [x] A claim is removed only after all of its items have been inserted or dropped successfully. - [x] Pending claims and notification state survive logout and server restart without duplication or loss. - [x] Automated tests verify expiry boundaries, each claim source, notifications, overflow, failure recovery, and persistence. - [x] Every login with pending claims shows “You have items waiting to be claimed. Visit the quest board to collect them.” independently of previous notification delivery. - [x] Reminders stop once all items are claimed, preserve real-time notifications, and do not change claims or item storage. - [x] Automated tests verify recurring reminders across logins and reloads, isolation by player, and silence after collection. ## Related - [US-005: Deliver blocks and complete a quest](us-005-deliver-blocks-and-complete-a-quest.md) - [US-006: Cancel an owned quest](us-006-cancel-an-owned-quest.md)