package com.correx.core.tools.state

import kotlinx.serialization.Serializable

/**
 * Projection of a [com.correx.core.events.events.FileWrittenEvent] — one file
 * mutation by a tool invocation, with the CAS hashes needed to reverse it.
 */
@Serializable
data class FileMutationRecord(
    val path: String,
    val preImageHash: String? = null,
    val postImageHash: String? = null,
    val preExisted: Boolean,
    val mode: String = "0644",
)
