{"id":"event-sourcing-conflates-two-id-spaces","text":"Event sourcing read operations conflate two ID spaces: projections assume contiguous stream-scoped IDs for catch-up arithmetic, while state reconstruction filters on global event_id, and sequence numbers survive compaction without renumbering — creating potential mismatches when events are removed or compacted.","truth_value":"IN","source":"","source_url":"","source_hash":"","justifications":[{"type":"SL","antecedents":["projection-catch-up-assumes-sequential-ids","reconstruct-state-up-to-is-global-id","es-event-ids-are-stream-scoped","cdc-log-sequence-numbers-survive-compaction"],"outlist":[],"label":"Stream-local and global ID spaces are used interchangeably across different read paths with no translation layer"}],"dependents":["event-sourcing-unreliable-in-persistence-and-addressing","ordering-infrastructure-broken-at-every-layer"],"metadata":{},"created_at":"","updated_at":"","reviewed_at":"","verified_at":"","retracted_at":"","explanation":{"steps":[{"node":"event-sourcing-conflates-two-id-spaces","truth_value":"IN","reason":"SL justification valid","antecedents":["projection-catch-up-assumes-sequential-ids","reconstruct-state-up-to-is-global-id","es-event-ids-are-stream-scoped","cdc-log-sequence-numbers-survive-compaction"],"label":"Stream-local and global ID spaces are used interchangeably across different read paths with no translation layer"},{"node":"projection-catch-up-assumes-sequential-ids","truth_value":"IN","reason":"premise"},{"node":"reconstruct-state-up-to-is-global-id","truth_value":"IN","reason":"premise"},{"node":"es-event-ids-are-stream-scoped","truth_value":"IN","reason":"premise"},{"node":"cdc-log-sequence-numbers-survive-compaction","truth_value":"IN","reason":"premise"}]}}