← back to Ticket System
Keep yoloforever running until explicit stop
6994aa77cae169b9c49419e0f4a1461161fc461e · 2026-09-02 16:38:19 -0700 · Steve Abrams
Files touched
M scripts/codex-yoloforever-prompt.mdA verification/tk-11131-yoloforever-stop-policy-e2e.json
Diff
commit 6994aa77cae169b9c49419e0f4a1461161fc461e
Author: Steve Abrams <steve@designerwallcoverings.com>
Date: Wed Sep 2 16:38:19 2026 -0700
Keep yoloforever running until explicit stop
---
scripts/codex-yoloforever-prompt.md | 2 +-
.../tk-11131-yoloforever-stop-policy-e2e.json | 44 ++++++++++++++++++++++
2 files changed, 45 insertions(+), 1 deletion(-)
diff --git a/scripts/codex-yoloforever-prompt.md b/scripts/codex-yoloforever-prompt.md
index 2d349016..d71e3159 100644
--- a/scripts/codex-yoloforever-prompt.md
+++ b/scripts/codex-yoloforever-prompt.md
@@ -14,4 +14,4 @@ HARD GATES: never perform customer-facing, destructive/irreversible, spend/money
The only carried approval is TK-10993 Tracks A/B/C/D/E exactly as previously scoped. It does not extend to any other ticket or action. Track C remains HOLD until a newly rebuilt canary has immutable 400/400 identity-bearing baseline proof. Track E may run only in its revised scoped form after A/B and a fresh preflight. Re-enumerate/dedupe Track D immediately before any approved execution. If these constraints are not satisfied, do not execute the corresponding external write.
-Pause safely rather than spin if two consecutive cycles have zero new verified progress and only gated work remains, or if a hard safety/cost/canary tripwire fires. Never send email or messages externally. Keep spend at $0 unless Steve separately and explicitly approves a named spend.
+Do not pause merely because two or more consecutive cycles have zero new verified progress or only gated work remains. Record the no-progress/gated-only result, perform read-only monitoring and backlog re-evaluation, then exit cleanly so launchd runs the next cycle. Continue every 10 minutes until Steve explicitly invokes the runner's `stop` action and creates the STOPPED sentinel. A hard safety/cost/canary tripwire blocks only the affected action; preserve evidence, draft or surface the gate, and continue monitoring other safe work. Never send email or messages externally. Keep spend at $0 unless Steve separately and explicitly approves a named spend.
diff --git a/verification/tk-11131-yoloforever-stop-policy-e2e.json b/verification/tk-11131-yoloforever-stop-policy-e2e.json
new file mode 100644
index 00000000..9c4acbdd
--- /dev/null
+++ b/verification/tk-11131-yoloforever-stop-policy-e2e.json
@@ -0,0 +1,44 @@
+{
+ "intent": "Keep the durable yoloforever runner cycling every 10 minutes until Steve explicitly stops it.",
+ "risk_tier": "R0",
+ "environment": "Mac2 LaunchAgent com.steve.codex-yoloforever",
+ "build_identity": "pre-commit",
+ "timestamp": "2026-09-02T23:37:53Z",
+ "baseline": "The durable cycle prompt paused after two no-progress gated-only cycles.",
+ "commands": [
+ "git diff --check",
+ "rg -n 'Do not pause|STOPPED sentinel|two or more consecutive' scripts/codex-yoloforever-prompt.md",
+ "/bin/zsh scripts/codex-yoloforever.sh status",
+ "launchctl print gui/501/com.steve.codex-yoloforever"
+ ],
+ "assertions": [
+ {
+ "boundary": "policy",
+ "result": "PASS",
+ "evidence": "Prompt now requires gated-only/no-progress cycles to record, monitor, and exit cleanly for the next launchd cycle instead of pausing."
+ },
+ {
+ "boundary": "explicit-stop",
+ "result": "PASS",
+ "evidence": "Prompt names the runner stop action and STOPPED sentinel as the termination mechanism."
+ },
+ {
+ "boundary": "cadence",
+ "result": "PASS",
+ "evidence": "LaunchAgent is loaded with run interval 600 seconds."
+ },
+ {
+ "boundary": "runtime",
+ "result": "PASS",
+ "evidence": "Runner status reports loaded=yes, running=lock-held, stopped=no, pid=11343; last exit=0."
+ },
+ {
+ "boundary": "safety-negative",
+ "result": "PASS",
+ "evidence": "Hard gates remain unchanged; a tripwire blocks only its affected action and does not authorize bypassing gates."
+ }
+ ],
+ "cleanup": "No test data or external side effect created; active bounded cycle retained.",
+ "rollback": "Revert the policy commit to restore the prior two-cycle pause clause.",
+ "verdict": "PASS"
+}
← 2600bc9e Update ticket bar focus proof
·
back to Ticket System
·
Run overnight yoloforever in approved dangerous mode 6e5fe695 →