@startuml uc-06-manage-equipment autonumber title UC-06 Manage Equipment (design sequence) actor Player participant "EquipmentBoundary\n«/api/characters/{id}/{equip,unequip}»" as boundary <> participant "EquipmentService\nsb-core::services::{equip,unequip}" as control <> participant "Equipment/Inventory\nCharacter.equipment/.inventory" as entity <> == Equip == Player -> boundary : POST equip item id boundary -> control : equip_item(character, item) alt item not in inventory control --> boundary : 400 (DomainError) else ok control -> entity : inventory -> slot\n(previous item returns to inventory) control --> boundary : character boundary --> Player : updated character end == Unequip == Player -> boundary : POST unequip slot boundary -> control : unequip_item(character, slot) alt slot empty control --> boundary : 400 (DomainError) else ok control -> entity : slot -> inventory control --> boundary : character boundary --> Player : updated character end @enduml