Quieter Background Automations
Patina 0.8.13 makes background work quieter and more cost-aware. Scheduled briefings and digests no longer open Patina on their own, and automatic Knowledge refreshes pause after three days without meaningful user activity. The goal is simple: Patina should spend effort when it is helping someone who is actually using it, and stay politely out of the way when it is not.
- Scheduled skills now queue their trigger file and exit instead of waking Patina through
launchctl kickstartoropen -ga Patina. - If Patina is already running in the background, the inbox watcher still picks up the scheduled briefing or digest and runs it quietly.
- If Patina is fully quit, the scheduled work waits until the next time the user opens Patina, instead of pulling the app into the foreground by itself.
- This keeps morning briefings and end-of-day digests from feeling like surprise app launches while preserving the durable handoff that prevents scheduled work from disappearing.
Inactive Knowledge Sync Timeout
- Automatic Knowledge sync now records meaningful human activity, including foreground use and visible chat sends.
- If the user has not meaningfully used Patina for three full days, automatic
sync-knowledgework is skipped instead of continuing to spend on deep background refreshes. - Silent automation delivery, background sync itself, and maintenance work do not reset the timer.
- The skip is logged as an inactive automatic-sync skip, so future cost audits can distinguish "not due" from "paused because the user is inactive."
- Manual use of Patina resumes the timer naturally, and regular chat quality is unchanged.
Time-Zone Reliability
- Starter pill time-of-day slots now honor the calendar passed into the pill engine all the way down, instead of falling back to the machine's current calendar internally.
- This fixes morning briefing pills disappearing when tests or callers evaluate a date in a different time zone than the host machine.
- The Today widget and Up Next digest/morning selection helpers now accept an injected calendar for deterministic behavior while keeping local time as the production default.
- The Today widget stays on the morning briefing until a digest exists or digest work is actually running, rather than switching to an empty digest state just because evening has arrived.
Developer Workflow
- The review burn-down helper can now run iterative review-finding loops, write prompts and verifier logs under
build/loops/, and be driven by a queue file for periodic local review work. - The helper remains conservative around dirty worktrees so unattended review runs do not trample active local edits.