# configuration/lexicon/data/event.data.json

> 440 lines of code and 0 definitions.

Tree: GovLab Context
Language: json
Layer: domain
Canonical: https://banes-lab.com/anatomy/context#file-context-configuration-lexicon-data-event-data-json
Source text: https://banes-lab.com/source/context/configuration/lexicon/data/event.data.json.txt

Listed in [configuration/lexicon/data](https://banes-lab.com/api/source/context/configuration/lexicon/data.md), after [configuration/lexicon/data/design.solid.data.json](https://banes-lab.com/source/context/configuration/lexicon/data/design.solid.data.json.md) and before [configuration/lexicon/data/failure.data.json](https://banes-lab.com/source/context/configuration/lexicon/data/failure.data.json.md).

## Contained in

- [configuration/lexicon/data](https://banes-lab.com/anatomy/context/folder-context-configuration-lexicon-data.md)

## Source

```json
{
    "category": "event-messaging-async",
    "records": [
        {
            "name": "CRUD-Only State Persistence",
            "kind": "anti-pattern",
            "definition": "Persisting only current state via create-read-update-delete, discarding the history that event sourcing preserves."
        },
        {
            "name": "Direct Event Handler Calls",
            "kind": "anti-pattern",
            "definition": "Invoking event handlers by direct method call, coupling emitter to handler and defeating the event bus."
        },
        {
            "name": "Direct Point-to-Point Calls",
            "kind": "anti-pattern",
            "definition": "Wiring services together with direct point-to-point calls, coupling each sender to specific receivers."
        },
        {
            "name": "Duplicate Side Effects",
            "kind": "anti-pattern",
            "definition": "Reprocessing a message so its side effects run more than once, corrupting state when not idempotent."
        },
        {
            "name": "Global ACID Transaction",
            "kind": "anti-pattern",
            "definition": "Attempting a single ACID transaction spanning multiple distributed services, creating tight coupling and availability loss."
        },
        {
            "name": "Hidden Temporal Coupling",
            "kind": "anti-pattern",
            "definition": "An undocumented ordering requirement between operations that must run in a specific sequence to work correctly."
        },
        {
            "name": "In-Memory Direct Invocation",
            "kind": "anti-pattern",
            "definition": "Calling a component directly in-process where a durable queue is needed, losing buffering and delivery guarantees."
        },
        {
            "name": "In-Place Mutation",
            "kind": "anti-pattern",
            "definition": "Overwriting existing records in place where an append-only log is required, destroying history."
        },
        {
            "name": "Infinite Redelivery Loop",
            "kind": "anti-pattern",
            "definition": "Endlessly redelivering a failing message with no dead-letter path, blocking the queue indefinitely."
        },
        {
            "name": "Infrastructure Events in Domain",
            "kind": "anti-pattern",
            "definition": "Leaking infrastructure or technical events into the domain model, polluting it with concerns it should not hold."
        },
        {
            "name": "Internal Domain Event Leakage",
            "kind": "anti-pattern",
            "definition": "Exposing internal domain events to external consumers, coupling them to private model details."
        },
        {
            "name": "Irreversible Side Effects",
            "kind": "anti-pattern",
            "definition": "Performing side effects that cannot be undone within a workflow that may need to roll back."
        },
        {
            "name": "Mutable State Only",
            "kind": "anti-pattern",
            "definition": "Keeping only mutable current state with no event record, so past states and changes cannot be recovered."
        },
        {
            "name": "Point-to-Point Coupling",
            "kind": "anti-pattern",
            "definition": "Coupling a sender directly to a specific receiver, so adding a consumer requires changing the sender."
        },
        {
            "name": "Shared Database",
            "distinctFrom": [
                {
                    "id": "architecture:cyclic-deployment-dependency",
                    "reason": "A shared database couples services through their data, while a cyclic deployment dependency couples them through their release order."
                }
            ],
            "kind": "anti-pattern",
            "definition": "Multiple services reading and writing one shared database, coupling them and destroying service autonomy."
        },
        {
            "name": "Single Serial Consumer",
            "kind": "anti-pattern",
            "definition": "Processing a queue with one consumer in series, so throughput cannot scale with load."
        },
        {
            "name": "Unified CRUD Model",
            "kind": "anti-pattern",
            "definition": "Using one shared model for both reads and writes, preventing each from being optimized for its purpose."
        },
        {
            "name": "Broker/Event Bus",
            "kind": "mechanism",
            "definition": "A runtime intermediary that routes messages between publishers and subscribers."
        },
        {
            "name": "Command/Query Separation",
            "kind": "principle",
            "definition": "Separating operations that change state from those that return data, so each method has a single purpose."
        },
        {
            "name": "Consumer",
            "kind": "mechanism",
            "definition": "A component that receives and processes messages from a queue or topic."
        },
        {
            "name": "Deduplication Key",
            "kind": "artifact",
            "definition": "A stable identifier attached to a message that lets a consumer detect and drop duplicates."
        },
        {
            "name": "Event Contract",
            "kind": "constraint",
            "definition": "The agreed schema and semantics of an event that publishers and subscribers both honor."
        },
        {
            "name": "Event Schema",
            "kind": "artifact",
            "definition": "A formal definition of the structure and fields of an event's payload."
        },
        {
            "name": "Event Semantics",
            "kind": "constraint",
            "definition": "The agreed meaning of what an event represents and the conditions under which it is emitted."
        },
        {
            "name": "Events",
            "kind": "artifact",
            "definition": "Records of things that have happened in a system, emitted for other components to react to."
        },
        {
            "name": "Immutable Events",
            "kind": "constraint",
            "definition": "The requirement that recorded events never change once written, only be appended to."
        },
        {
            "name": "Local Transaction",
            "kind": "model",
            "definition": "A transaction confined to a single service's own datastore, the atomic unit a saga or outbox composes."
        },
        {
            "name": "Message Relay",
            "kind": "mechanism",
            "definition": "A component that reads pending messages from an outbox and publishes them to the broker."
        },
        {
            "name": "Ordered Log",
            "distinctFrom": [
                {
                    "id": "lexicon:event-schema",
                    "reason": "An ordered log keeps records in write order, while an event schema defines what each record holds."
                }
            ],
            "kind": "artifact",
            "definition": "An append-only sequence of records that preserves the order in which they were written."
        },
        {
            "name": "Own Data",
            "kind": "constraint",
            "definition": "The requirement that each service alone own and control its data store."
        },
        {
            "name": "Publisher",
            "distinctFrom": [
                {
                    "id": "lexicon:broker-event-bus",
                    "reason": "A publisher emits messages, while the broker routes them between publishers and subscribers."
                },
                {
                    "id": "lexicon:subscriber",
                    "reason": "A publisher sends to a topic, while a subscriber receives from it."
                }
            ],
            "kind": "mechanism",
            "definition": "A component that emits messages to a topic or bus for subscribers to receive."
        },
        {
            "name": "Reconciliation",
            "kind": "activity",
            "definition": "The activity of detecting and resolving divergence between replicas so they converge to a consistent state."
        },
        {
            "name": "Reversible/Compensable Step",
            "kind": "constraint",
            "definition": "The requirement that each step in a distributed workflow can be undone by a compensating action."
        },
        {
            "name": "Routing",
            "kind": "capability",
            "definition": "The ability to direct each message to its correct destination based on topic, key, or rule."
        },
        {
            "name": "Subscriber",
            "distinctFrom": [
                {
                    "id": "lexicon:broker-event-bus",
                    "reason": "A subscriber receives a topic's messages, while the broker routes them to it."
                }
            ],
            "kind": "mechanism",
            "definition": "A component that registers interest in a topic and receives its messages."
        },
        {
            "name": "Subscriber Model",
            "kind": "model",
            "definition": "A representation of which consumers subscribe to which topics and how they receive messages."
        },
        {
            "name": "User Expectations",
            "kind": "constraint",
            "definition": "The behavior users assume a system will exhibit, such as seeing their own writes immediately."
        },
        {
            "name": "Asynchronous Processing",
            "kind": "capability",
            "definition": "The ability to handle work without blocking the caller, decoupling request from completion."
        },
        {
            "name": "Atomic State Change + Message Publish",
            "kind": "capability",
            "definition": "The ability to commit a state change and publish its corresponding message as one atomic unit."
        },
        {
            "name": "Consumer Elasticity",
            "kind": "capability",
            "definition": "The ability to add or remove consumers dynamically to match message volume."
        },
        {
            "name": "Cross-Service Communication",
            "kind": "capability",
            "definition": "The ability for independent services to exchange information without direct coupling."
        },
        {
            "name": "Decoupled Domain Reactions",
            "kind": "capability",
            "definition": "The ability for domain logic to react to events without the emitter knowing its consumers."
        },
        {
            "name": "Decoupled Event Distribution",
            "kind": "capability",
            "definition": "The ability to distribute events to many consumers without the source depending on any of them."
        },
        {
            "name": "Distributed Autonomy",
            "kind": "capability",
            "definition": "The ability for distributed nodes to operate and decide independently without central coordination."
        },
        {
            "name": "Failure Recovery",
            "kind": "capability",
            "definition": "The ability to restore correct operation after a failure through compensation or retry."
        },
        {
            "name": "Fan-Out Notification",
            "kind": "capability",
            "definition": "The ability to deliver one event to many interested subscribers at once."
        },
        {
            "name": "Long-Running Transactions",
            "kind": "capability",
            "definition": "The ability to carry a business transaction across many steps and a long duration via compensation."
        },
        {
            "name": "Parallel Message Processing",
            "distinctFrom": [
                {
                    "id": "lexicon:consumer-elasticity",
                    "reason": "Parallel message processing is several consumers working at once, while consumer elasticity is changing how many there are to match volume."
                }
            ],
            "kind": "capability",
            "definition": "The ability for multiple consumers to process messages from the same source at once."
        },
        {
            "name": "Poison-Message Quarantine",
            "distinctFrom": [
                {
                    "id": "lexicon:reprocessing-after-fix",
                    "reason": "Quarantine moves a failing message aside, while reprocessing after the fix sends it through again."
                }
            ],
            "kind": "capability",
            "definition": "The ability to divert a repeatedly-failing message to a separate queue so it stops blocking others."
        },
        {
            "name": "Read/Write Model Optimization",
            "kind": "capability",
            "definition": "The ability to shape read and write models independently for their differing access patterns."
        },
        {
            "name": "Reprocessing After Fix",
            "kind": "capability",
            "definition": "The ability to reprocess quarantined messages once the underlying defect is fixed."
        },
        {
            "name": "Safe Message Redelivery",
            "kind": "capability",
            "definition": "The ability to redeliver a message without causing duplicate effects, given idempotent handling."
        },
        {
            "name": "Temporal Modeling",
            "kind": "capability",
            "definition": "The ability to model how state evolved over time by preserving each change as an event."
        },
        {
            "name": "Temporal Queries",
            "kind": "capability",
            "definition": "The ability to ask what a system's state was at any past point in time."
        },
        {
            "name": "Work Distribution",
            "kind": "capability",
            "definition": "The ability to spread units of work across many workers via a broker."
        },
        {
            "name": "At-Least-Once Delivery Safety",
            "kind": "quality-attribute",
            "definition": "The degree to which a message is guaranteed to be delivered at least once, tolerating duplicates."
        },
        {
            "name": "Event Reliability",
            "kind": "quality-attribute",
            "definition": "The degree to which events are guaranteed to be delivered despite failures."
        },
        {
            "name": "Business Complexity",
            "kind": "quality-attribute",
            "definition": "The degree of domain intricacy that a coordination mechanism must accommodate."
        },
        {
            "name": "Delivery Ordering",
            "kind": "quality-attribute",
            "definition": "The degree to which messages are delivered in a defined order, which broad fan-out can weaken."
        },
        {
            "name": "Duplication with Domain Events",
            "kind": "quality-attribute",
            "definition": "The degree of overlap between integration events and domain events that must be kept in sync."
        },
        {
            "name": "Event Granularity",
            "kind": "quality-attribute",
            "definition": "The degree of coarseness or fineness at which events are defined, trading detail against volume."
        },
        {
            "name": "Event Storm / Traceability",
            "kind": "quality-attribute",
            "definition": "The degree to which a high volume of events makes end-to-end flows hard to trace."
        },
        {
            "name": "Global Consistency",
            "kind": "quality-attribute",
            "definition": "The degree to which all nodes reflect the same state at once, which service autonomy gives up."
        },
        {
            "name": "Immediate Consistency",
            "kind": "quality-attribute",
            "definition": "The degree to which a read reflects the latest write instantly, which asynchronous processing defers."
        },
        {
            "name": "Operational Dependency",
            "kind": "quality-attribute",
            "definition": "The degree to which a system's operation depends on a message broker remaining available."
        },
        {
            "name": "Query Complexity",
            "kind": "quality-attribute",
            "definition": "The degree of difficulty of answering queries when state is stored as an event history rather than current rows."
        },
        {
            "name": "Relay Complexity",
            "kind": "quality-attribute",
            "definition": "The degree of added complexity of running a relay process that forwards messages from an outbox."
        },
        {
            "name": "State Overhead",
            "kind": "quality-attribute",
            "definition": "The degree of extra state a consumer must retain to deduplicate or order messages."
        },
        {
            "name": "Storage Growth",
            "kind": "quality-attribute",
            "definition": "The degree to which an append-only log's storage footprint grows unbounded over time."
        },
        {
            "name": "Storage Volume",
            "kind": "quality-attribute",
            "definition": "The degree to which retaining a full event stream consumes large amounts of storage."
        },
        {
            "name": "Strong Consistency",
            "kind": "quality-attribute",
            "definition": "The degree to which all reads see the latest write, which event-driven asynchrony relaxes."
        },
        {
            "name": "Strong Immediate Consistency",
            "kind": "quality-attribute",
            "definition": "The degree to which every read reflects the most recent write without delay, which eventual consistency relaxes."
        },
        {
            "name": "Workflow Complexity",
            "kind": "quality-attribute",
            "definition": "The degree of intricacy of coordinating a multi-step distributed workflow."
        },
        {
            "name": "Query Projection",
            "kind": "technique",
            "definition": "A technique for maintaining a read model shaped for one query, updated from the writes it depends on."
        },
        {
            "name": "Introduce Async Event",
            "kind": "technique",
            "definition": "A technique for replacing a synchronous call that need not complete in the request with an event a consumer handles later."
        },
        {
            "name": "Own Data per Service",
            "kind": "technique",
            "definition": "A technique for giving each service its own store and letting others reach the data only through its contract."
        },
        {
            "name": "Offset Tracking",
            "kind": "technique",
            "definition": "A technique for recording how far each consumer has read in a stream, so it resumes there and can replay from earlier."
        },
        {
            "name": "Snapshot Compaction",
            "kind": "technique",
            "definition": "A technique for periodically storing a snapshot of state derived from a log, so readers replay only the events after it."
        },
        {
            "name": "Non-Replayable Processing",
            "kind": "anti-pattern",
            "definition": "A defect in which consumed events cannot be read again, so a consumer cannot rebuild its state or recover from a fault."
        }
    ]
}
```
