74 lines
2.1 KiB
Markdown
74 lines
2.1 KiB
Markdown
|
|
---
|
||
|
|
kind: task
|
||
|
|
slug: worker-operator-notes
|
||
|
|
title: Operator notes — mid-build context injection
|
||
|
|
plan_slug: automation-foundation
|
||
|
|
epic_slug: apps-worker-v1
|
||
|
|
status: draft
|
||
|
|
priority: P2
|
||
|
|
tenant_id: global
|
||
|
|
owner: unassigned
|
||
|
|
cursor_todo_id: null
|
||
|
|
updated_at: "2026-08-03"
|
||
|
|
---
|
||
|
|
|
||
|
|
# Task summary
|
||
|
|
|
||
|
|
Let operators send **queued notes** and **direct messages** to an active worker session without waiting for a human gate.
|
||
|
|
|
||
|
|
## Description
|
||
|
|
|
||
|
|
**Benchmark:** Autensa Operator Chat — two delivery modes:
|
||
|
|
|
||
|
|
| Mode | Delivery | Use case |
|
||
|
|
|------|----------|----------|
|
||
|
|
| **Queued note** | Injected at next checkpoint / tool round | "Use the existing auth middleware" |
|
||
|
|
| **Direct message** | Prepended to very next model call | Urgent course correction |
|
||
|
|
|
||
|
|
Echodo scope is convoy-scoped (not per arbitrary task board). Gate co-pilot (Epic 5) stays gate-focused; this extends intervention to `in_progress` convoys.
|
||
|
|
|
||
|
|
### Data model
|
||
|
|
|
||
|
|
`convoy_operator_messages` table (workspace-scoped):
|
||
|
|
|
||
|
|
- `convoy_id`, `brief_id` (optional), `agent_run_id` (optional)
|
||
|
|
- `delivery`: `queued` | `direct`
|
||
|
|
- `body`, `author_user_id`, `delivered_at`, `created_at`
|
||
|
|
|
||
|
|
### APIs
|
||
|
|
|
||
|
|
- tRPC `convoys.postOperatorNote` (workspace member)
|
||
|
|
- Worker polls or receives note via job metadata on each tool round
|
||
|
|
|
||
|
|
### UI
|
||
|
|
|
||
|
|
- Mission control detail panel: chat thread when convoy status is `in_progress`
|
||
|
|
- Distinct from gate co-pilot (separate tab or section)
|
||
|
|
|
||
|
|
## Dependencies
|
||
|
|
|
||
|
|
- [Task-worker-minimal-tool-loop](./Task-worker-minimal-tool-loop.md)
|
||
|
|
- Epic 5 mission control detail panel (extend, do not rewrite)
|
||
|
|
|
||
|
|
## Subtasks
|
||
|
|
|
||
|
|
- [ ] Schema + tRPC mutations/list
|
||
|
|
- [ ] Worker consumes queued notes between tool steps
|
||
|
|
- [ ] Worker consumes direct messages before next `generateText`
|
||
|
|
- [ ] Mission control UI thread for `in_progress` convoys
|
||
|
|
|
||
|
|
## Estimation
|
||
|
|
|
||
|
|
M
|
||
|
|
|
||
|
|
## Acceptance criteria
|
||
|
|
|
||
|
|
- [ ] Operator posts queued note; worker sees it on next tool round
|
||
|
|
- [ ] Direct message arrives before next model call when run is active
|
||
|
|
- [ ] Messages are workspace-scoped and auditable in convoy detail
|
||
|
|
|
||
|
|
## Links
|
||
|
|
|
||
|
|
- Epic: `./Epic-apps-worker-v1.md`
|
||
|
|
- Related: [Task-mission-control-ui](../Epic-mission-control-gates-ui/Task-mission-control-ui.md)
|