Glossary - listenrightmeow/signal-driven-development GitHub Wiki

Glossary

Key terms used throughout Signal-Driven Development and this wiki.

SDD-Specific Terms

Term Definition
Convergence The process of iteratively reducing gap count to zero across passes. A model has converged when zero unresolved gaps remain.
Convergence invariant The rule that gap count must decrease across passes. Violation indicates the specification is diverging.
Divergence When gap count increases between passes. The most important signal the process can produce -- indicates a resolution introduced more complexity than it removed.
Gap A diagnostic signal identified during a gap report. Not a verdict -- the architect reads, investigates, and resolves.
Gap report An immutable snapshot evaluating a domain specification against four gap categories (SG, HG, LG, DG).
Gap resolution log An immutable snapshot documenting how each gap was resolved, with rationale and structural impact.
Pass One complete iteration of the convergence cycle: write/update specification, run gap report, resolve gaps.
Signal Information surfaced by the gap report that the architect must investigate. Gaps are signals, not verdicts.

Gap Categories

Term Definition
Structural Gap (SG) A missing or malformed element in the domain specification. Binary -- the element exists or it does not.
Heuristic Gap (HG) A pattern that violates an established DDD principle with a measurable threshold.
Language Gap (LG) Ambiguity or inconsistency in the ubiquitous language across the specification.
Decision Gap (DG) An architectural decision that has been deferred or made without documented rationale.

Severity Levels

Term Definition
ERROR A structural deficiency that will cause ambiguity or failure during implementation. Must be resolved.
WARNING A pattern that may cause problems or violates a known heuristic. Should be investigated.

DDD Building Blocks

Term Definition
Aggregate A cluster of domain objects treated as a single unit for consistency. Protects invariants through a consistency boundary.
Bounded context A boundary within which a domain model applies. Each context has its own ubiquitous language.
Command An instruction to perform an action that changes state. Directed at an aggregate.
Domain event A record of something that happened in the domain. Emitted by aggregates after state changes.
Domain service Coordinates domain logic that doesn't belong to a single aggregate.
Invariant A business rule that must always be true within an aggregate's consistency boundary.
Policy A reactive pattern: one event in, one command out. Represents a domain rule that governs when a reaction occurs.
Projection A read model built by consuming domain events. Serves queries and views.
Saga A multi-step process coordinating commands across aggregates with compensation logic for failures.
Ubiquitous language The shared vocabulary between developers and domain experts within a bounded context.
Value object An immutable domain object defined by its attributes rather than identity.

Context Relationship Types

Term Definition
ACL (Anti-Corruption Layer) A translation layer that protects a context from changes in another context's model.
Conformist A downstream context that conforms to the upstream context's model without translation.
Customer-Supplier An upstream-downstream relationship where the supplier serves the customer's needs.
Partnership Two contexts that coordinate changes together for mutual benefit.
Published Language A well-documented, shared language for inter-context communication.
Shared Kernel A subset of the domain model shared between two contexts, with coordinated changes.

Resolution Outcomes

Term Definition
Accept The gap recommendation is adopted and the specification is changed accordingly.
Accept with modification The recommendation is correct in principle but adjusted in execution.
Reject The current design is intentional. The rationale for rejection is documented.