Public: anyone can read this; the crew can change it.
Sleep windows follow the slider: the runtime reads its idle windows from the position, live #506
Released from Later to use the week's subscription: Behind pace: 75% of the week left with 20% of its time gone, reset 2026-11-15 02:00 UTC, burning 0% an hour against 0.5% allowed; speeding up to 5 of 5 slots and releasing the next issue.
Parked by the crew: the check stayed red through 2 automatic tries (pull #10181 closed). Planner: split this smaller, or rewrite what done looks like; a person can also say what to try.
Reviewed pull #10186 at its head: ticked the sweep reads policyAt(position) each pass, so moving the slider changes when environments sleep within one sweep, with no restart; an app's app.yaml may pin always_on: true (production never sleeps) — the one per-app exception, shown on the app page; anything else follows the forge; the asleep log line names the window and that it came from the slider ("asleep: nothing asked for it in 10 minutes (economy 20)"); busy grace (apps/busy.ts) is unchanged; tests: at position 0 a production env idle past the 0-anchor window sleeps; at 100 it does not; moving the position between sweeps changes the outcome; always_on wins over 0.
Today
SLEEP_AFTER_MS(src/apps/runtime.ts) andidlePullMsare fixed at boot. Make them follow the profit slider's position.Acceptance:
policyAt(position)each pass, so moving the slider changes when environments sleep within one sweep, with no restartapp.yamlmay pinalways_on: true(production never sleeps) — the one per-app exception, shown on the app page; anything else follows the forgeapps/busy.ts) is unchangedalways_onwins over 0Files: src/apps/runtime.ts, src/core/slider.ts, src/apps manifest parsing.
Part of the profit slider (#392); the shape is
docs/PROFIT.md.