Conversation
There was a problem hiding this comment.
Pull request overview
Updates repository documentation to reflect the operator’s expanded capabilities (scheduled reminders, D1-backed schedules, and website monitoring) and to improve local/prod setup guidance.
Changes:
- Expanded top-level README feature description and added a Mermaid flow diagram for message handling + scheduling.
- Updated
docs/plan.mdto describe the current architecture, implemented features, and backlog. - Updated
apps/operator/README.mdwith D1 migration steps and expanded “Current Behavior” / production workflow details.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| README.md | Refreshes project overview and adds a Mermaid flowchart + build command. |
| docs/plan.md | Reframes the plan as “current plan” with updated architecture, decisions, security notes, and implementation status. |
| apps/operator/README.md | Adds local/remote D1 migration instructions and documents scheduling/monitoring behaviors. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| D -->|Create schedule| G[Store pending action] | ||
| G --> H[User replies YES] | ||
| H --> I[Save schedule in D1] | ||
| I --> J[Cron checks due schedules] | ||
| J --> K{Schedule kind} | ||
| K -->|Reminder| L[Send reminder] | ||
| K -->|Monitor| M[Scrape website and analyze] | ||
| M --> N[Send monitor update] |
There was a problem hiding this comment.
The Mermaid flowchart’s schedule branch implies schedules are created directly from the webhook request (D -> Create schedule -> Store pending action). In the implementation, schedule creation is triggered by an OpenAI tool call (create_schedule/delete_schedule) and only then is a pending action stored in D1. Please update the diagram to include the OpenAI/tool-call step (or rename the decision node) so the documented flow matches the actual execution path.
| D -->|Create schedule| G[Store pending action] | |
| G --> H[User replies YES] | |
| H --> I[Save schedule in D1] | |
| I --> J[Cron checks due schedules] | |
| J --> K{Schedule kind} | |
| K -->|Reminder| L[Send reminder] | |
| K -->|Monitor| M[Scrape website and analyze] | |
| M --> N[Send monitor update] | |
| D -->|Schedule request| G[OpenAI selects create_schedule/delete_schedule] | |
| G --> H[Store pending action] | |
| H --> I[User replies YES] | |
| I --> J[Save schedule in D1] | |
| J --> K[Cron checks due schedules] | |
| K --> L{Schedule kind} | |
| L -->|Reminder| M[Send reminder] | |
| L -->|Monitor| N[Scrape website and analyze] | |
| N --> O[Send monitor update] |
What
Update the README to reflect new features including scheduled reminders and website monitoring. The documentation now provides a clearer overview of the operator's capabilities and necessary setup steps for local development. It also includes flow diagrams to illustrate the process of handling Telegram messages and scheduling tasks.
Expanded description of the operator's functionality.
Added flowchart to visualize message handling and scheduling.
Included instructions for applying local and remote D1 migrations.
How to test
Run
pnpm installto install dependencies.Apply local D1 migrations with
pnpm --filter @repo/operator db:migrate:local.Test the operator's features by sending messages and creating schedules.
Expected results include successful message handling and scheduled reminders being executed as intended.
Security review
Secrets / env vars: not changed.
Auth / session: not changed.
Network / API calls: not changed.
Data handling / PII: not changed.
Dependencies: not changed.
No security-impacting changes identified. The update primarily focuses on documentation improvements.