1.7 KiB
Ubiquitous Language
Use this branch to resolve a terminology problem, not to rename every technical class. Read the configured domain layout and the existing glossary before proposing terms.
Resolve the meaning
Take a concrete business scenario and identify its actors, nouns, actions, and state transitions. Compare the user's explanation with the code and accepted decisions.
- One term with different meanings: identify the actual distinction and its context.
- Several terms for the same concept: propose one canonical term and record relevant aliases.
- A lifecycle difference: decide whether it represents a state of one identity or a distinct concept.
- An unfamiliar name: check domain usage before assuming the model is wrong.
Ask for domain clarification only where the evidence does not settle a consequential choice. Do not invent an expert's agreement.
Record and apply
Update root CONTEXT.md in its existing format when glossary maintenance is requested. Keep definitions concise, show important relationships, and distinguish agreed language from proposals. Technical names such as service or DTO may remain appropriate outside the domain glossary.
A terminology discussion does not automatically authorize a code-wide rename. For an authorized rename, find all affected code, tests, schemas, contracts, and documents; replace them together under the development lifecycle policy. Do not introduce migration or API-version compatibility for disposable development data.
Different contexts may legitimately use different meanings. Do not split a coherent context merely because a word is ambiguous; first determine whether the underlying rules or ownership actually differ.