Repository navigation
Fix 16 problems from the log (runner, db, perf) - #202
Merged
danielehrhardt merged 3 commits intoOct 17, 2026
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
I fixed the bug behind 37 of the 41 failed runs: the watchdog was counting time the Mac slept as a stall. I also made two smaller fixes. The watchdog, power and sources tests pass (60/60),
pnpm -r typecheckis clean, andorigin/mainhad not moved, so nothing needed merging.What changed
1. The watchdog no longer counts sleep as a stall (37 runs on 2026-10-17)
performance.now()instead, which stops while the computer sleeps (the sleep detector indiagnostics/monitor.tsrelies on the same clock). Only time awake counts toward the stall limit, so the timer effectively picks up where it left off after each wake. This is inrunner/runner.tsandrunner/watchdog.ts.test/heartbeats.test.tschecks that a running run's times are on this clock and that it isn't stopped.2. Git fetches the Mac slept through no longer time out on wake
Timed out talking to github.comwarnings each came right after a wake, after only ~11.8 s of awake time against a 2-minute limit. A fetch started in one of those short wake windows was timed out by a timer that also counted the sleep.services/workspaceSources.tsnow usesawakeTimeout, the same pattern as the run timeout.3. Lid-closed mode tells you when it can't keep the Mac awake
Not fixed: why the Mac slept on 2026-10-17
I couldn't find out why lid-closed mode didn't hold. The one
pmset disablesleep 1 failedwarning (2026-10-16 08:15Z) came just before the password prompt, and that request succeeded 4 seconds later. The sudoers rule is installed andsudo -nworks. Nothing failed on 2026-10-17, yet the Mac slept with the lid closed on battery from 09:25Z to 19:53Z, and at 19:53Z sleep had to be switched off again. Either something outside Godmode turned it back on, or the mode was switched off and on again (which isn't logged). With fix 1, sleep like this no longer gets runs stopped.No code change needed
slow database query,event loop blocked,high memory use: known heavy load from very large in-flight chat messages and screenshots in desktop chats. Fixing it means changing how messages are stored, which is bigger than an autofix.browser … stopped unexpectedly (CDP connection closed): logged 25 s before the Mac slept; the browser restarts the next time it's used.could not copy the setup to runnerandrunner update failed: … offline: the runner was offline at the time.API Error: Connection lost while your computer was asleep: caused by sleep; resume picks it up.sleep 99999and then waited on it for an hour with no output. Stopping it was correct.Commits
a281d77Time asleep is no stall for the watchdog74b4ab5Time out git only on awake timea63eda7Tell the human when lid-closed mode can't hold the Mac awakeTask #54 · done by Self-Healer with Godmode Bot