Apply at most one idempotent write and turn the accepted and skipped counts into a commit, skip, or retry remediation action.

Lazy Value Remediation Report

LazyValueRemediationReport.kt
fun main() {
    val writes = 
    var accepted = 0
    var skipped = 0

    for (i in 1..writes) {
        if (accepted == 0) {
            accepted++
        } else {
            skipped++
        }
    }

    val action = if (accepted == 0) {
        "retry"
    } else if (skipped > 0) {
        "skip"
    } else {
        "commit"
    }

    println("writes=$writes accepted=$accepted skipped=$skipped $action")
}
fun main() {
    val writes = 
    var accepted = 0
    var skipped = 0

    for (i in 1..writes) {
        if (accepted == 0) {
            accepted++
        } else {
            skipped++
        }
    }

    val action = if (accepted == 0) {
        "retry"
    } else if (skipped > 0) {
        "skip"
    } else {
        "commit"
    }

    println("writes=$writes accepted=$accepted skipped=$skipped $action")
}
fun main() {
    val writes = 
    var accepted = 0
    var skipped = 0

    for (i in 1..writes) {
        if (accepted == 0) {
            accepted++
        } else {
            skipped++
        }
    }

    val action = if (accepted == 0) {
        "retry"
    } else if (skipped > 0) {
        "skip"
    } else {
        "commit"
    }

    println("writes=$writes accepted=$accepted skipped=$skipped $action")
}
idempotent write Only the first write is accepted and later writes are counted as skipped, so the remediation action is reproducible without a live lazy initializer.