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

shipped production is serving it opened this has it
opened this

Today SLEEP_AFTER_MS (src/apps/runtime.ts) and idlePullMs are fixed at boot. Make them follow the profit slider's position.

Acceptance:

  • [x] the sweep reads policyAt(position) each pass, so moving the slider changes when environments sleep within one sweep, with no restart
  • [x] 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
  • [x] the asleep log line names the window and that it came from the slider ("asleep: nothing asked for it in 10 minutes (economy 20)")
  • [x] busy grace (apps/busy.ts) is unchanged
  • [x] 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

Files: src/apps/runtime.ts, src/core/slider.ts, src/apps manifest parsing.

Part of the profit slider (#392); the shape is docs/PROFIT.md.

commented

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.

commented

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.

commented

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.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs