You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Scheduled and event tasks still behave like delayed Slack turns: they get Delivery, and the final assistant message posts unless the model emits [[NO_REPLY]]. That works for reminders and digests. It is noisy for silent work such as “when CI fails, fix it.”
Task agent input still uses a prompt-level reply contract and [[NO_REPLY]] for silence (packages/junior/src/chat/task-input.ts, Overhaul Junior automations #1717).
Event tasks and scheduled tasks share task input framing, but product vocabulary and dashboard still center on “Task.”
Gap
Users need unattended work that can act without publishing a channel update. Prompt-based silence is unreliable, and automatic assistant Delivery makes completion chatter the default.
User stories
Slack
Reminder: “Remind me Friday at 9am to submit expenses.” Posts one reminder message at the right time. No model work required for fixed text.
Recurring post: “Post standup time every weekday at 10am in #eng.” Posts the fixed text on cadence.
Computed digest: “Every Friday, summarize open launch blockers in #launch.” Agent gathers live state, then posts one tool-authored digest.
Silent maintenance: “Every night, archive stale threads in this channel.” Runs tools only. No completion message in the channel.
New root message trigger: “Whenever someone posts a new top-level message in #support, triage it and label the thread.” Triggers only on new root messages in a channel, not thread replies; effects run via tools, with Delivery only if the user asked for one.
Tell-me-when (temporary): “Tell me when this deploy finishes.” Temporary watch/notify in the current conversation, not a durable silent automation unless the user asks for durable behavior.
Failure handling: If a silent automation fails repeatedly or needs auth, notify the creator privately. Do not dump an assistant explanation into the destination channel.
GitHub
Fix failed checks: “Whenever checks fail on this PR, fix them.” Agent uses repo tools. No Slack completion message unless the user asked for one.
Review triage: “When review requests changes on getsentry/junior PRs, summarize the feedback and open a follow-up checklist.” Effects are GitHub artifacts and optional explicit notify; not automatic assistant chatter.
Label/route issues: “When a new issue is opened with ‘customer’, label it and assign the support rotation.” Tool effects only.
Release notify: “When a release is published, post the notes in #releases.” Agent or fixed message posts one explicit Slack message.
Watch vs automation: “Tell me when this PR is approved” stays a temporary watch. “Whenever a release is published, update the changelog PR” is a durable event automation.
Proposal (from product review)
Keep this small. Do not build a workflow graph.
Default: agent automations run with Location for tools, without assistant Delivery.
Visible output: only explicit tools (for example a Slack post tool with idempotent retries).
Simple remind/post fixed text: deterministic message action, no model loop.
Computed “post/summarize” jobs: agent action plus a required message effect when communication is the point.
Silent action jobs: agent action, zero destination messages on success.
Failures/auth: runtime-owned private owner notify; not model-authored channel spam.
Product framing: prefer Automation over overloaded Task language; align with Overhaul Junior automations #1717 naming, but ship behavior first if rename is larger.
Legacy: existing tasks that rely on final-answer delivery keep current behavior until edited/converted.
Out of scope for the first cut: DAG/node editor, second agent runtime, prompt-only silent flags, or a generic publish-anywhere core tool.
Scheduled and event tasks still behave like delayed Slack turns: they get Delivery, and the final assistant message posts unless the model emits
[[NO_REPLY]]. That works for reminders and digests. It is noisy for silent work such as “when CI fails, fix it.”Current behavior
packages/junior/src/chat/README.md, Simplify Junior around one core Conversation and optional Location #1563).[[NO_REPLY]]for silence (packages/junior/src/chat/task-input.ts, Overhaul Junior automations #1717).Gap
Users need unattended work that can act without publishing a channel update. Prompt-based silence is unreliable, and automatic assistant Delivery makes completion chatter the default.
User stories
Slack
GitHub
Proposal (from product review)
Keep this small. Do not build a workflow graph.
Out of scope for the first cut: DAG/node editor, second agent runtime, prompt-only
silentflags, or a generic publish-anywhere core tool.Related
via David Cramer.
--
View Junior Session [Sentry]