# Event Stream

> A mechanism that keeps events in an ordered, replayable log that consumers read from their own offset.

Record: `architecture:event-stream`
Kind: mechanism
Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)
Severity: contextual
Scope: stream processing, integration
Canonical: https://banes-lab.com/ontology#architecture-event-stream

Listed in [Architecture principles](https://banes-lab.com/api/records/architecture.md), after [Event Bus](https://banes-lab.com/records/architecture/event-bus.md) and before [Event Sourcing](https://banes-lab.com/records/architecture/event-sourcing.md).

## Repair

- Refactored by: Add Stream, Add Offset Tracking
- Detected by: missing offsets, missing event schema
- Violated by: non-replayable event processing
- Measured by: replay success, lag
- Enforced by: stream contract tests

## Requires

- [Ordered Log](https://banes-lab.com/records/lexicon/ordered-log.md)
- [Event Schema](https://banes-lab.com/records/lexicon/event-schema.md)

## Reinforces

- [Streaming Architecture](https://banes-lab.com/records/architecture/streaming-architecture.md)

## Enables

- [Replay](https://banes-lab.com/records/lexicon/replay.md)
- [Continuous Processing](https://banes-lab.com/records/lexicon/continuous-processing.md)

## Conflicts with

- [Mutable State Only](https://banes-lab.com/records/lexicon/mutable-state-only.md)

## In tension with

- [Storage Volume](https://banes-lab.com/records/lexicon/storage-volume.md)

## Tensions

- [Event Stream / Storage Volume](https://banes-lab.com/records/tension/event-stream-storage-volume.md)

## Severity

- [contextual](https://banes-lab.com/records/vocabulary/severity-contextual.md)

## Category

- [Event / Messaging / Asynchronous Architecture](https://banes-lab.com/records/architecture-category/event-messaging-asynchronous-architecture.md)

## Linked from

- [Error Handling / Resilience](https://banes-lab.com/ontology/principles/architecture-category-error-handling-resilience.md)
- [Streaming / Pipeline / Dataflow Processing](https://banes-lab.com/ontology/principles/architecture-category-streaming-pipeline-dataflow-processing.md)
- [Core Vocabulary](https://banes-lab.com/ontology/lexicon/lexicon-category-core-vocabulary.md)
- [Event Messaging Async](https://banes-lab.com/ontology/lexicon/lexicon-category-event-messaging-async.md)
- [Severity levels](https://banes-lab.com/ontology/schema/the-vocabulary-severity.md)
- [The resolutions](https://banes-lab.com/ontology/schema/the-resolutions.md)
