Skip to content

Feat/proactive inbox calendar#51

Closed
meidad wants to merge 3 commits into
mainfrom
feat/proactive-inbox-calendar
Closed

Feat/proactive inbox calendar#51
meidad wants to merge 3 commits into
mainfrom
feat/proactive-inbox-calendar

Conversation

@meidad
Copy link
Copy Markdown
Collaborator

@meidad meidad commented May 25, 2026

Summary

Changes

Test plan

  • pnpm check passes (format, typecheck, lint)
  • pnpm test passes
  • Manual testing done

Related issues

meidad and others added 3 commits May 25, 2026 10:43
Adds cron-driven inbox-watcher, calendar-watcher, and morning-briefing
jobs that route through AgentRuntime so they get google-workspace MCP
access plus DraftManager. Autonomy levels (off/passive/active/aggressive)
gate draft creation; quiet runs return a [NOACTION] sentinel so the
cron-engine suppresses noise notifications.

registerProactiveJobs() now actually upserts cron rows (was a stub),
idempotent per the delta-sync pattern. New NomosConfig fields:
inboxAutonomy, briefingCron, inboxScanInterval, calendarScanInterval --
env-overridable and DB-backed via app-config.

Settings UI: /admin/proactive gains an autonomy selector (4 cards),
a time-picker + day-set dropdown for the briefing (with raw-cron
fallback for power users), and scan-interval inputs. Saves trigger a
Postgres NOTIFY -> daemon reload-proactive command so changes apply
without a restart. Fix table-fetch 400 by passing ?name= not ?table=.

Housekeeping:
- Rename src/ui/components/ + hooks/ to kebab-case for consistency
  with the rest of the codebase (component symbols stay PascalCase per
  React convention).
- Drop unused src/ui/gateway-client.ts (legacy WebSocket client, zero
  imports).
- Ignore tmp.md.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The case-only renames in the prior commit went through a stash/pop dance
that lost rename detection -- the new lowercase files were added but the
PascalCase entries were never removed from the index. APFS hides this
locally (same inode), but Linux CI sees both files and tsc errors:

  error TS1149: File name '.../message.tsx' differs from already
  included file name '.../Message.tsx' only in casing.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Move plan.md alongside todo.md and tmp.md in the local-notes gitignore
block. The file stays on disk; this just removes it from the repo.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@meidad
Copy link
Copy Markdown
Collaborator Author

meidad commented May 25, 2026

Closing — content already landed via #50 (squash-merge). The feat branch retained its three pre-squash commits and was reopened by mistake; deleting the branch now.

@meidad meidad closed this May 25, 2026
@meidad meidad deleted the feat/proactive-inbox-calendar branch May 25, 2026 23:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant