Repository navigation
Conversation
Routines are the first item after the MVP: a bot works on its own on a weekly schedule, an interval or a cron expression, in the routine's own time zone. Each run is a message the owner wrote, delivered into the bot's one conversation through the courier like any other, so it is durable and needs no second session. A run ends with the turn its message started; overlapping runs are skipped (or one waits), paused bots skip, and missed times run once when the computer is back. The schedule is stored as structured JSON so the app can show and edit it in plain words; cron stays behind "Advanced". Milestones R1 (daemon) and R2 (app) start once M5 is closed.
Owner
Author
|
Closing without merge: the routines design will ship together with the R1 implementation, in one complete PR. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Design only, no code: spec section 20. Implementation starts after the reboot test closes M5, as milestones R1 (daemon) and R2 (app).
The idea
A routine makes a bot work on its own at set times. When the time comes, the daemon writes the owner's request as a message into the bot's conversation, and the courier delivers it like any other message. That keeps it durable and retried, in the same session and memory as the bot's normal chat. Nothing runs in parallel with the bot.
Main decisions
weekly(days + time),interval(5 min to 1 week) orcron(advanced). Each routine has its own time zone, the system's by default. The app phrases schedules in plain words and keeps cron behind "Advanced".resultafter the replay of its uuid). It isdone,failedorskipped.[botloft] routine "…" · scheduled …), so it knows the request is automatic and nobody is watching live.