Routines #1143
Replies: 2 comments 6 replies
-
|
Agent suggests: PlanRecommendationMake routines a first-class company surface, but keep each execution issue-backed. The core model should be:
That gives us the operational benefits of issues without forcing routine definitions themselves to behave like issues. The main design recommendation is to add generic issue-origin metadata rather than a routine-only issue type. That solves the immediate routines use case and also leaves room for future issue-backed surfaces like chats, sync jobs, or other system-generated workflows. 1. Core data model
|
Beta Was this translation helpful? Give feedback.
-
|
I'm basically happy with this. It keeps the "issue" object as the core runtime primitive but gives nice ux considerations around it (not polluting the feed etc.) |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Plan a routines feature
A company often has regular routines. E.g. every morning at 10am, review the code changes from the past 24 hours and update the docs.
Routines can be triggered by time, schedules, or even some sort of trigger/ping like a webhook or some call from the api.
Routines have a definition of what should be done. Like an issue they have a project and an assignee. Between those things, the agent should know how to proceed with the work and deliver it.
When a routine needs to fire, it's work should be queued up and run by the agent, like already happens with an issue - things like concurrency of the agent should be respected.
Routines are sort like 'template issues' - that is, they aren't issues themselves but rather a template for what will happen.
Issues already are the tracking backbone of paperclip and it probably makes sense for routines to actualize a new issue on run - because we get so many operational benefits here - you can see the logs, comment on a particular run, auditing, work product all of it.
But maybe this creates a bit of an awkwardness around having a bunch of 'duplicate-seeming' routine copies of tasks in the feed. Possibly we should consider something like 'routine executions' as maybe an issue key or type to keep them out of some of the feeds or categorize them specially in some way.
I'll note as an aside that there are probably other types of "overloaded issues" we'll have in the future such as chats with the ceo that may also become "issue-backed" for consistency throughout the system, so this isn't a one-off idea.
Routines also need a meta-surface such as apis, paperclip skills updated and access. e.g. agents should be able to reflect on recurring work and have the tools to create and setup their own routines.
What I'd like you to do is think through more deeply about how we design this system of recurring routines. Define the timing and/or trigger system (webhooks and all the challenges around them, sharing keys and urls, giving agents the ability to make these webhook urls and share them with outside services. E.g. maybe an agent could create a webhook agent per routine like you would with discord or github and then give that url to an outside service to self-setup the routine trigger - all apis and actions etc. should support this).
And the ui as well, is there a routines entry in the sidebar? maybe under company. So we need ui for CRUD routines as well as the ability to audit the activity of routines, which again is maybe under the routines tab - then think about this idea of routine-executed issues, are then in the inbox view? issues view? recent activity? what filters do or do not set as defaults?
Give recommendations here
Beta Was this translation helpful? Give feedback.
All reactions