Operational Remediation Reports
Once Value Remediation Report
Apply at most one idempotent write and turn the accepted and skipped counts into a commit, skip, or retry remediation 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 one-shot value guard.
Once Value Remediation Report
once_value_remediation.js
Replay: real traced execution (multi-file project)
const writes = 1;
function remediate(count) {
let accepted = 0;
let skipped = 0;
for (let i = 1; i <= count; i++) {
if (accepted === 0) {
accepted += 1;
} else {
skipped += 1;
}
}
let action = "retry";
if (accepted >= 1 && skipped >= 1) {
action = "skip";
} else if (accepted >= 1) {
action = "commit";
}
console.log(`writes=${count} accepted=${accepted} skipped=${skipped} ${action}`);
}
remediate(writes);
const writes = 0;
function remediate(count) {
let accepted = 0;
let skipped = 0;
for (let i = 1; i <= count; i++) {
if (accepted === 0) {
accepted += 1;
} else {
skipped += 1;
}
}
let action = "retry";
if (accepted >= 1 && skipped >= 1) {
action = "skip";
} else if (accepted >= 1) {
action = "commit";
}
console.log(`writes=${count} accepted=${accepted} skipped=${skipped} ${action}`);
}
remediate(writes);
const writes = 2;
function remediate(count) {
let accepted = 0;
let skipped = 0;
for (let i = 1; i <= count; i++) {
if (accepted === 0) {
accepted += 1;
} else {
skipped += 1;
}
}
let action = "retry";
if (accepted >= 1 && skipped >= 1) {
action = "skip";
} else if (accepted >= 1) {
action = "commit";
}
console.log(`writes=${count} accepted=${accepted} skipped=${skipped} ${action}`);
}
remediate(writes);
writes ← 1
1const writes→ 1 = 1; //@writes=2, 023function remediate(count) {4 let accepted = 0;5 let skipped = 0;6 for (let i = 1; i <= count; i++) {7 if (accepted === 0) {8 accepted += 1;9 } else {10 skipped += 1;11 }12 }13 let action = "retry";14 if (accepted >= 1 && skipped >= 1) {15 action = "skip";16 } else if (accepted >= 1) {17 action = "commit";18 }19 console.log(`writes=${count} accepted=${accepted} skipped=${skipped} ${action}`);20}2122remediate(writes1);accepted ← 0, skipped ← 0
1const writes = 1; //@writes=2, 023function remediate(count1) {4 let accepted→ 0 = 0;5 let skipped→ 0 = 0;6 for (let i = 1; i <= count; i++) {for (let i = 1; i <= count; i++)
4let accepted = 0;5let skipped = 0;6for (let i1 = 1; i <= count1; i++) {7 if (accepted === 0) {if (accepted === 0)
5let skipped = 0;6for (let i = 1; i <= count; i++) {7 if (accepted0 === 0) {8 accepted += 1;9 } else {action ← retry
11 }12}13let action→ retry = "retry";14if (accepted >= 1 && skipped >= 1) {if (accepted >= 1)
15 action = "skip";16} else if (accepted1 >= 1) {17 action = "commit";18}console.log(`writes=${count} accepted=${accepted} skipped=${skipped} $…
17 action = "commit";18 }19 console.log(`writes=${count1} accepted=${accepted1} skipped=${skipped0} ${actioncommit}`);20}outputwrites=1 accepted=1 skipped=0 commitremediate(writes);
19 console.log(`writes=${count} accepted=${accepted} skipped=${skipped} ${action}`);20}2122remediate(writes1);
writes ← 0
1const writes→ 0 = 0;23function remediate(count) {4 let accepted = 0;5 let skipped = 0;6 for (let i = 1; i <= count; i++) {7 if (accepted === 0) {8 accepted += 1;9 } else {10 skipped += 1;11 }12 }13 let action = "retry";14 if (accepted >= 1 && skipped >= 1) {15 action = "skip";16 } else if (accepted >= 1) {17 action = "commit";18 }19 console.log(`writes=${count} accepted=${accepted} skipped=${skipped} ${action}`);20}2122remediate(writes0);accepted ← 0, skipped ← 0, action ← retry
1const writes = 0;23function remediate(count0) {4 let accepted→ 0 = 0;5 let skipped→ 0 = 0;6 for (let i = 1; i <= count; i++) {7 if (accepted === 0) {8 accepted += 1;9 } else {10 skipped += 1;11 }12 }13 let action→ retry = "retry";14 if (accepted >= 1 && skipped >= 1) {15 action = "skip";16 } else if (accepted >= 1) {17 action = "commit";18 }19 console.log(`writes=${count0} accepted=${accepted0} skipped=${skipped0} ${actionretry}`);20}outputwrites=0 accepted=0 skipped=0 retryremediate(writes);
19 console.log(`writes=${count} accepted=${accepted} skipped=${skipped} ${action}`);20}2122remediate(writes0);
writes ← 2
1const writes→ 2 = 2;23function remediate(count) {4 let accepted = 0;5 let skipped = 0;6 for (let i = 1; i <= count; i++) {7 if (accepted === 0) {8 accepted += 1;9 } else {10 skipped += 1;11 }12 }13 let action = "retry";14 if (accepted >= 1 && skipped >= 1) {15 action = "skip";16 } else if (accepted >= 1) {17 action = "commit";18 }19 console.log(`writes=${count} accepted=${accepted} skipped=${skipped} ${action}`);20}2122remediate(writes2);accepted ← 0, skipped ← 0
1const writes = 2;23function remediate(count2) {4 let accepted→ 0 = 0;5 let skipped→ 0 = 0;6 for (let i = 1; i <= count; i++) {for (let i = 1; i <= count; i++)
pass 1 of 24let accepted = 0;5let skipped = 0;6for (let i1 = 1; i <= count2; i++) {7 if (accepted === 0) {if (accepted === 0)
5let skipped = 0;6for (let i = 1; i <= count; i++) {7 if (accepted0 === 0) {8 accepted += 1;9 } else {for (let i = 1; i <= count; i++)
pass 2 of 24let accepted = 0;5let skipped = 0;6for (let i2 = 1; i <= count2; i++) {7 if (accepted === 0) {action ← retry
11 }12}13let action→ retry = "retry";14if (accepted >= 1 && skipped >= 1) {if (accepted >= 1 && skipped >= 1)
12}13let action = "retry";14if (accepted1 >= 1 && skipped1 >= 1) {15 action = "skip";16} else if (accepted >= 1) {console.log(`writes=${count} accepted=${accepted} skipped=${skipped} $…
17 action = "commit";18 }19 console.log(`writes=${count2} accepted=${accepted1} skipped=${skipped1} ${actionskip}`);20}outputwrites=2 accepted=1 skipped=1 skipremediate(writes);
19 console.log(`writes=${count} accepted=${accepted} skipped=${skipped} ${action}`);20}2122remediate(writes2);