Operational Remediation Reports
Atomic Claim Remediation Report
Contend for a single claim slot and turn the rejected count into a grant, queue, or reject remediation 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.
Atomic Claim Remediation Report
AtomicClaimRemediationReport.kt
Replay: real traced execution (multi-file project)
fun main() {
val requests = 1
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 = 2
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 = 3
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")
}
requests ← 1, slotCapacity ← 1, claimed ← 0, rejected ← 0
1fun main() {2 val requests→ 1 = 1 //@requests=2, 33 val slotCapacity→ 1 = 14 var claimed→ 0 = 05 var rejected→ 0 = 0for (i in 1..requests)
7for (i1 in 1..requests1) {8 if (claimed < slotCapacity) {if (claimed < slotCapacity)
7for (i in 1..requests) {8 if (claimed0 < slotCapacity1) {9 claimed0++10 } else {11 rejected++action ← grant
15 val action→ grant = if (rejected0 == 0) {16 "grant"17 } else if (rejected0 == 1) {18 "queue"19 } else {20 "reject"21 }2223 println("requests=$requests1 claimed=$claimed1 rejected=$rejected0 $actiongrant")24}outputrequests=1 claimed=1 rejected=0 grant
requests ← 2, slotCapacity ← 1, claimed ← 0, rejected ← 0
1fun main() {2 val requests→ 2 = 23 val slotCapacity→ 1 = 14 var claimed→ 0 = 05 var rejected→ 0 = 0for (i in 1..requests)
pass 1 of 27for (i1 in 1..requests2) {8 if (claimed < slotCapacity) {if (claimed < slotCapacity)
7for (i in 1..requests) {8 if (claimed0 < slotCapacity1) {9 claimed0++10 } else {11 rejected++for (i in 1..requests)
pass 2 of 27for (i2 in 1..requests2) {8 if (claimed < slotCapacity) {else
9 claimed++10 } else {11 rejected0++12 }13}action ← queue
15 val action→ queue = if (rejected1 == 0) {16 "grant"17 } else if (rejected1 == 1) {18 "queue"19 } else {20 "reject"21 }2223 println("requests=$requests2 claimed=$claimed1 rejected=$rejected1 $actionqueue")24}outputrequests=2 claimed=1 rejected=1 queue
requests ← 3, slotCapacity ← 1, claimed ← 0, rejected ← 0
1fun main() {2 val requests→ 3 = 33 val slotCapacity→ 1 = 14 var claimed→ 0 = 05 var rejected→ 0 = 0for (i in 1..requests)
pass 1 of 37for (i1 in 1..requests3) {8 if (claimed < slotCapacity) {All 3 passes — pass 1 is the card above pass iclaimedslotCapacityrejected1 1 0 1 — 2 2 — — 0 3 3 — — 1 if (claimed < slotCapacity)
7for (i in 1..requests) {8 if (claimed0 < slotCapacity1) {9 claimed0++10 } else {11 rejected++else
pass 1 of 29 claimed++10 } else {11 rejected0++12 }13}else
pass 2 of 29 claimed++10 } else {11 rejected1++12 }13}action ← reject
15 val action→ reject = if (rejected2 == 0) {16 "grant"17 } else if (rejected2 == 1) {18 "queue"19 } else {20 "reject"21 }2223 println("requests=$requests3 claimed=$claimed1 rejected=$rejected2 $actionreject")24}outputrequests=3 claimed=1 rejected=2 reject