Running LifeOS 7.1.1. While auditing our Google-touching surfaces we found two Pulse components that appear unable to work in a stock install. Asking whether they're vestigial or have a setup path we missed — happy to help with a doc note or a removal patch either way.
1. The email output channel depends on a gws CLI that isn't shipped
LifeOS/install/LIFEOS/PULSE/lib.ts (job output dispatch, case "email") spawns:
const gwsPath = Bun.which("gws") ?? "/opt/homebrew/bin/gws"
Bun.spawn([gwsPath, "gmail", "+send", "--to", recipient, ...])
As far as we can tell, gws isn't shipped with LifeOS, isn't documented anywhere in the repo, and doesn't appear to be a public Homebrew formula. Also no stock PULSE.toml job uses output = "email", so the channel is unreachable out of the box even before the missing binary.
Questions: is gws a private/planned dependency? If not, would you take a change that either documents how to obtain/configure it or drops the email channel?
2. checks/calendar.ts requires credentials no setup flow creates
LifeOS/install/LIFEOS/PULSE/checks/calendar.ts reads GMAIL_CLIENT_ID, GMAIL_CLIENT_SECRET, and GOOGLE_CALENDAR_REFRESH_TOKEN from .env, but we couldn't find any documented flow that mints these three values, and the check isn't scheduled in the stock PULSE.toml. The only doc reference we found is the failure-mode line in DOCUMENTATION/Pulse/PulseSystem.md ("Calendar returns NO_EVENTS always → set GOOGLE_CALENDAR_REFRESH_TOKEN").
Same question: is this awaiting a documented OAuth setup flow, or is it vestigial and better removed?
For context, we've disabled both locally (patched out the email case; calendar check left unscheduled). If either has a future, we'd rather align with your direction than diverge.
Running LifeOS 7.1.1. While auditing our Google-touching surfaces we found two Pulse components that appear unable to work in a stock install. Asking whether they're vestigial or have a setup path we missed — happy to help with a doc note or a removal patch either way.
1. The
emailoutput channel depends on agwsCLI that isn't shippedLifeOS/install/LIFEOS/PULSE/lib.ts(job output dispatch,case "email") spawns:As far as we can tell,
gwsisn't shipped with LifeOS, isn't documented anywhere in the repo, and doesn't appear to be a public Homebrew formula. Also no stockPULSE.tomljob usesoutput = "email", so the channel is unreachable out of the box even before the missing binary.Questions: is
gwsa private/planned dependency? If not, would you take a change that either documents how to obtain/configure it or drops the email channel?2.
checks/calendar.tsrequires credentials no setup flow createsLifeOS/install/LIFEOS/PULSE/checks/calendar.tsreadsGMAIL_CLIENT_ID,GMAIL_CLIENT_SECRET, andGOOGLE_CALENDAR_REFRESH_TOKENfrom.env, but we couldn't find any documented flow that mints these three values, and the check isn't scheduled in the stockPULSE.toml. The only doc reference we found is the failure-mode line inDOCUMENTATION/Pulse/PulseSystem.md("Calendar returns NO_EVENTS always → setGOOGLE_CALENDAR_REFRESH_TOKEN").Same question: is this awaiting a documented OAuth setup flow, or is it vestigial and better removed?
For context, we've disabled both locally (patched out the email case; calendar check left unscheduled). If either has a future, we'd rather align with your direction than diverge.