Add morning check-in cron for winston (Jared Goldman) #1

Open
gcl-bot wants to merge 1 commit from factory/a96bfee9 into main
Owner

Adds a daily morning check-in cron for winston (Jared Golman's agent) at
clients/jared-golman/morning-check-in/. Moved from GitHub PR #6 onto Forgejo,
the repo's home now.

Shape

  • run() only, no INSTRUCTION.md: no Letta turn starts. run() fetches the
    calendar through ctx.tools.calendar.events (the shared Google Workspace
    tooling), formats the message in code (format.ts, pure functions), and
    delivers it with ctx.deliver.
  • Schedule 0 7 * * *, zone read from ctx.timeZone at run time (never hard-coded).
  • requires: { 'google-workspace': 'read' }, on_run_failure: 'tell_agent'.

Message layout

Header (date + zone) → TODAY → COMING UP (next 7 days, capped at 10 lines with
+ N more) → NEWS → MARKETS. Events merged across accounts, all-day first,
overlap flagged, guest count, empty-day wording, degraded check-in on a failed
fetch.

Time zone

This repo carries no client-config data, and this run has no access to the
monorepo's/control-plane's client registry (clients.time_zone), so the live
value configured for Jared Golman could not be read or confirmed from here.
The code never hard-codes a zone either way — run() reads ctx.timeZone at
run time and the declaration leaves time_zone unset so it falls back to the
client's configured zone. If that configured zone is not
America/Mexico_City, no code change is needed: the header and all date math
follow whatever zone ctx.timeZone supplies.

Checks (this run, on the pushed commit)

Run from the repo root:

npm install --global --prefix "$HOME/.gcl-pnpm" --no-audit --no-fund pnpm@11.10.0
export PATH="$HOME/.gcl-pnpm/bin:$PATH"
pnpm install --frozen-lockfile   # passed
pnpm run typecheck               # passed (tsc --noEmit, no errors)
pnpm run lint                    # passed (biome check ., 16 files, no issues)
pnpm run test                    # passed (4 files, 24 tests)

No status/check-run is currently visible on this PR via the Forgejo API
(GET /repos/gcl/capabilities/{commits/.../status,actions/runs} both return
empty) — the same "checks unreadable" symptom noted on the previous PR. The
above is this run's own execution of the exact CI steps in
.forgejo/workflows/ci.yml, on the commit pushed to factory/a96bfee9.

Board task: a96bfee9

Adds a daily morning check-in cron for `winston` (Jared Golman's agent) at `clients/jared-golman/morning-check-in/`. Moved from GitHub PR #6 onto Forgejo, the repo's home now. ## Shape - `run()` only, no `INSTRUCTION.md`: no Letta turn starts. `run()` fetches the calendar through `ctx.tools.calendar.events` (the shared Google Workspace tooling), formats the message in code (`format.ts`, pure functions), and delivers it with `ctx.deliver`. - Schedule `0 7 * * *`, zone read from `ctx.timeZone` at run time (never hard-coded). - `requires: { 'google-workspace': 'read' }`, `on_run_failure: 'tell_agent'`. ## Message layout Header (date + zone) → TODAY → COMING UP (next 7 days, capped at 10 lines with `+ N more`) → NEWS → MARKETS. Events merged across accounts, all-day first, overlap flagged, guest count, empty-day wording, degraded check-in on a failed fetch. ## Time zone This repo carries no client-config data, and this run has no access to the monorepo's/control-plane's client registry (`clients.time_zone`), so the live value configured for Jared Golman could not be read or confirmed from here. The code never hard-codes a zone either way — `run()` reads `ctx.timeZone` at run time and the declaration leaves `time_zone` unset so it falls back to the client's configured zone. If that configured zone is not `America/Mexico_City`, no code change is needed: the header and all date math follow whatever zone `ctx.timeZone` supplies. ## Checks (this run, on the pushed commit) Run from the repo root: ``` npm install --global --prefix "$HOME/.gcl-pnpm" --no-audit --no-fund pnpm@11.10.0 export PATH="$HOME/.gcl-pnpm/bin:$PATH" pnpm install --frozen-lockfile # passed pnpm run typecheck # passed (tsc --noEmit, no errors) pnpm run lint # passed (biome check ., 16 files, no issues) pnpm run test # passed (4 files, 24 tests) ``` No status/check-run is currently visible on this PR via the Forgejo API (`GET /repos/gcl/capabilities/{commits/.../status,actions/runs}` both return empty) — the same "checks unreadable" symptom noted on the previous PR. The above is this run's own execution of the exact CI steps in `.forgejo/workflows/ci.yml`, on the commit pushed to `factory/a96bfee9`. Board task: a96bfee9
run()-only cron: fetches every connected Google account's events via
ctx.tools.calendar.events, formats the fixed TODAY/COMING UP/NEWS/MARKETS
layout in code, and delivers it directly with ctx.deliver — no agent turn,
no INSTRUCTION.md. A single failed account is reported inline; a total
fetch failure is caught and still delivered as a degraded check-in rather
than surfacing as a run failure (on_run_failure: 'tell_agent' remains the
safety net for a genuine code failure).

Board task: a96bfee9
Some required checks are missing.
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin factory/a96bfee9:factory/a96bfee9
git switch factory/a96bfee9
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
gcl/capabilities!1
No description provided.