Core

Shared Kernel containing cross-cutting value objects used across all bounded contexts.

Domain

Overview

The Core bounded context provides the Shared Kernel: domain-agnostic value objects and algebraic types that establish common vocabulary across all bounded contexts in ironstar. These types embody key event sourcing invariants and are reused throughout Analytics, Workspace, and Session domains.

Strategic Classification

Shared Kernel: Foundation for cross-context communication and state representation.

Key Value Objects

  • Timestamp: Unix timestamp in milliseconds with total ordering for event replay and temporal queries
  • Duration: Elapsed time in milliseconds for tracking query execution and cache TTLs

Shared Invariants

All Core value objects embody principles from Hoffman’s Laws of Event Sourcing:

  • Immutability: Value objects are permanently immutable after construction
  • Totality: Comparison operations and ordering are defined for all instances
  • Determinism: Equal values always produce identical behavior in projections

Integration Points

  • Consumed by: All bounded contexts (Analytics, Workspace, Session)
  • Used in: EventEnvelope metadata (timestamps), QuerySession tracking (duration)
  • Zenoh channels depend on Timestamp for monotonic ordering