{"id":"read-uses-linear-scan-for-offset-gaps","text":"`Topic.read` finds the start position by scanning for `msg.offset >= offset` rather than computing an array index, which is necessary because compaction creates offset holes that break arithmetic indexing.","truth_value":"IN","source":"entries/2026/05/29/topic-log-compaction-vs-retention.md","source_url":"","source_hash":"","justifications":[],"dependents":[],"metadata":{},"created_at":"","updated_at":"","reviewed_at":"","verified_at":"","retracted_at":"","explanation":{"steps":[{"node":"read-uses-linear-scan-for-offset-gaps","truth_value":"IN","reason":"premise"}]}}