Contend for a single claim slot and turn the rejected count into a grant, queue, or reject remediation action.

Atomic Claim Remediation Report

AtomicClaimRemediationReport.kt
fun main() {
    val requests = 
    val slotCapacity = 1
    var claimed = 0
    var rejected = 0

    for (i in 1..requests) {
        if (claimed < slotCapacity) {
            claimed++
        } else {
            rejected++
        }
    }

    val action = if (rejected == 0) {
        "grant"
    } else if (rejected == 1) {
        "queue"
    } else {
        "reject"
    }

    println("requests=$requests claimed=$claimed rejected=$rejected $action")
}
fun main() {
    val requests = 
    val slotCapacity = 1
    var claimed = 0
    var rejected = 0

    for (i in 1..requests) {
        if (claimed < slotCapacity) {
            claimed++
        } else {
            rejected++
        }
    }

    val action = if (rejected == 0) {
        "grant"
    } else if (rejected == 1) {
        "queue"
    } else {
        "reject"
    }

    println("requests=$requests claimed=$claimed rejected=$rejected $action")
}
fun main() {
    val requests = 
    val slotCapacity = 1
    var claimed = 0
    var rejected = 0

    for (i in 1..requests) {
        if (claimed < slotCapacity) {
            claimed++
        } else {
            rejected++
        }
    }

    val action = if (rejected == 0) {
        "grant"
    } else if (rejected == 1) {
        "queue"
    } else {
        "reject"
    }

    println("requests=$requests claimed=$claimed rejected=$rejected $action")
}
claim contention The single claim slot and request count are scalars, so the claimed and rejected counts that drive the remediation action stay deterministic and free of atomic identity.