Howdy,
I've always struggled with the general problem that certain days are not suitable to work on certain Beeminder goals. I gave up on the automatically-adjust-the-road approach (https://github.com/DrTall/beevacay) last year when it became clear that road editing is not for the faint of heart.
The new approach is detect-and-complain, or "lint": https://github.com/DrTall/beelint This is still pretty experimental so it's far from tried-and-true but I'm pretty excited about it.
My current Beelint config has 4 parts:
- Weekends-off goals
- Weekends-only goals
- A vacation coming up in February (blocks all goals)
- A Google Calendar based blacklist for nights where I have events after work. I'm using this to detect these "Late nights" and then forbidding those goals which I find really annoying to deal with when I get home late.
My Beelint goal is updated by the script with the list of goals with problems:
This also integrates with my Beedash, by highlighting lint errors in pink. Orange is still a real eep!:
If anybody checks it out let me know if it works for you!