# SSD-001 Spell a Word ## Metadata | Key | Value | | --- | --- | | ID | SSD-001 | | CrossReference | [UC-001] | | Language | en | | Domain | it | ## Version History | Date | Status | Author | Reviewer | Change | Commit | | --- | --- | --- | --- | --- | --- | | 2026-10-13 | Accepted | Jens Tirsvad Nielsen | AI as stand-in for S01 | Initial version, reviewed in RC-013 | pending | --- ## Source Use Case Spell a Word ([UC-001]) — scenario: main success scenario. The alternate flow 3a (invalid character) is drawn separately below. ## Diagram ```plantuml @startuml actor User as U participant ":System" as S U -> S : requestWord() S --> U : prompt U -> S : spellWord(word) S --> U : codeWords @enduml ``` Alternate flow 3a, a word with a character that is not a letter: ```plantuml @startuml actor User as U participant ":System" as S U -> S : spellWord(word) S --> U : rejection(only letters allowed) S --> U : prompt @enduml ``` ## System Operations | Step | Message | Parameters | Return | Use case step | | --- | --- | --- | --- | --- | | 1 | requestWord | none | prompt asking for a word | 1, 2 | | 2 | spellWord | word | the list of code words, or a rejection for a non-letter | 3, 4 and 3a | ## Lifecycle Notes The tool runs one session per start; it keeps no state between words. The data is loaded once when the session starts. --- [UC-001]: ./uc.md