{"id":"hash-index-survives-restart","text":"Hash-index storage correctly reconstructs its in-memory index from on-disk segments after restart by scanning in ascending order so newer writes overwrite older entries, with fsync-controlled durability for each write.","truth_value":"IN","source":"","source_url":"","source_hash":"","justifications":[{"type":"SL","antecedents":["bitcask-rebuild-sorts-ascending","bitcask-recovery-order-is-ascending","hash-index-sync-writes-controls-fsync"],"outlist":["bitcask-compact-not-crash-safe"],"label":"Restart recovery is correct for normal operation but a crash during compaction leaves segment state that rebuild cannot handle consistently"}],"dependents":[],"metadata":{},"created_at":"","updated_at":"","reviewed_at":"","verified_at":"","retracted_at":"","explanation":{"steps":[{"node":"hash-index-survives-restart","truth_value":"IN","reason":"SL justification valid","antecedents":["bitcask-rebuild-sorts-ascending","bitcask-recovery-order-is-ascending","hash-index-sync-writes-controls-fsync"],"label":"Restart recovery is correct for normal operation but a crash during compaction leaves segment state that rebuild cannot handle consistently","outlist":["bitcask-compact-not-crash-safe"]},{"node":"bitcask-rebuild-sorts-ascending","truth_value":"IN","reason":"premise"},{"node":"bitcask-recovery-order-is-ascending","truth_value":"IN","reason":"premise"},{"node":"hash-index-sync-writes-controls-fsync","truth_value":"IN","reason":"premise"}]}}