--- type: User Story title: "US-005: Deliver blocks and complete a quest" description: Let a player deliver requested blocks at a quest board and receive the escrowed reward. status: done --- # US-005: Deliver blocks and complete a quest As a **player**, I want to deliver requested blocks to a quest board so that I receive the promised reward and the issuer can claim my delivery. ## Acceptance criteria - [x] An active quest offers a Complete Quest action through every registered board. - [x] Completion requires the delivering player to possess the full requested quantity of the exact block material. - [x] Successful completion removes the requested blocks from the delivering player's inventory and stores them as a claim for the issuer. - [x] Successful completion gives the exact escrowed reward items to the delivering player. - [x] Reward items that do not fit are dropped safely at the delivering player's feet with a clear message. - [x] The issuer is notified immediately when online or on their next login when offline that delivered blocks can be claimed at a quest board. - [x] When player commands are enabled, `/quests complete ` provides equivalent behavior with contextual autocomplete. - [x] Completion is atomic and exactly one player can complete a quest, including simultaneous attempts. - [x] Validation or persistence failure does not consume delivered blocks, release rewards, or change quest state. - [x] Completed quests are no longer shown as active or completable. - [x] Automated tests verify inventory validation, settlement, overflow, notifications, rollback, and concurrent completion protection. ## 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)