discuss button

This commit is contained in:
Ian Gulliver
2026-10-16 09:32:07 -07:00
parent 6ad3c8715d
commit d328aa5e1f
11 changed files with 183 additions and 183 deletions
+1 -1
View File
@@ -959,7 +959,7 @@ components:
properties: properties:
title: { type: string, description: The title of the item to start. } title: { type: string, description: The title of the item to start. }
model: { type: string } model: { type: string }
discuss: { type: boolean, description: "Tell the agent the human wants to talk the item through, so it asks before changing anything." } discuss: { type: boolean, description: "Tell the agent the human wants to discuss the item in chat before anything is built." }
Unmerged: Unmerged:
type: object type: object
+1 -1
View File
@@ -161,7 +161,7 @@ The UI is two panes filling the window, with no navbar. The left has three tabs:
A project's `TODO.md` is read from the root of its default branch in the project's checkout (`git cat-file blob <default branch>:TODO.md`), so it shows what has been merged, not uncommitted edits in the checkout. `GET /api/projects/{id}/todo` returns `exists` and the parsed `items` (`internal/todo`): every top-level list item (`-`, `*`, `+`, `1.` or `1)` at the start of a line) is an item. Its first line, with any `[ ]` checkbox removed, is its `title`; the lines indented under it (and lines continuing it without a blank line between) are its `body`, with the common indentation removed; `section` is the nearest heading above it. Checked items (`[x]`) are skipped, list markers inside fenced code don't count, and paragraphs between items are ignored. A project's `TODO.md` is read from the root of its default branch in the project's checkout (`git cat-file blob <default branch>:TODO.md`), so it shows what has been merged, not uncommitted edits in the checkout. `GET /api/projects/{id}/todo` returns `exists` and the parsed `items` (`internal/todo`): every top-level list item (`-`, `*`, `+`, `1.` or `1)` at the start of a line) is an item. Its first line, with any `[ ]` checkbox removed, is its `title`; the lines indented under it (and lines continuing it without a blank line between) are its `body`, with the common indentation removed; `section` is the nearest heading above it. Checked items (`[x]`) are skipped, list markers inside fenced code don't count, and paragraphs between items are ignored.
The title is the item's identity. `POST /api/projects/{id}/todo/tasks` with a `title` re-reads `TODO.md`, refuses an unknown title (404) or one an active task already has (409), creates a task from the default branch with that title and `todo_item` (the `tasks.todo_item` column, empty for other tasks), and starts its session as the requesting user with `todoPrompt` (`internal/agents/tasks.go`): the item as written, and an instruction to remove it from `TODO.md` in the worktree when the work is done. With `discuss: true` the prompt adds that the human wants to talk the item through first: the agent reads what it needs, asks about the open questions and its proposed approach with `ask_human`, and changes nothing until answered. The agent's guidance names the item too (`taskGuidance`, see "Agent sessions"), so the instruction survives compaction and resumes. The agent removes the item on its own branch, so the removal lands on the default branch in the same squash commit as the work. The title is the item's identity. `POST /api/projects/{id}/todo/tasks` with a `title` re-reads `TODO.md`, refuses an unknown title (404) or one an active task already has (409), creates a task from the default branch with that title and `todo_item` (the `tasks.todo_item` column, empty for other tasks), and starts its session as the requesting user with `todoPrompt` (`internal/agents/tasks.go`): the item as written, and an instruction to remove it from `TODO.md` in the worktree when the work is done. With `discuss: true` the prompt adds that the human wants to discuss the item first: the agent reads what it needs, ends its turn with its thoughts on the item (its reading, approach, trade-offs and doubts) in its final message rather than `ask_human` questions, carries on the conversation in chat, and changes nothing until told to build it. The agent's guidance names the item too (`taskGuidance`, see "Agent sessions"), so the instruction survives compaction and resumes. The agent removes the item on its own branch, so the removal lands on the default branch in the same squash commit as the work.
The **Project** tab is the dashboard of the right pane's project (the focused task's, or the project focused with no task). Under **Tasks** it lists the project's active tasks in the server's order (newest first), each with its session state, open inbox item count and **merge held** when it has `merge_queued_at`, as links that point the right pane at the task's transcript; the focused task is highlighted. Under **TODO** it lists the `TODO.md` items, grouped by section, with each body rendered as Markdown. An item with an active task whose `todo_item` equals its title shows that task's session state as a link to the task instead of the **Start** and **Discuss** buttons. **Start** posts the item with the composer's default model; **Discuss** posts it the same way with `discuss: true`. Neither moves the right pane (see "Start hold"). The task list follows byre's live state; the tab fetches the project's `TODO.md` when it opens, when the right pane moves to another project, when the project list changes, when the SSE stream reconnects, and on `task.merged`; a change pushed to the default branch outside byre shows the next time one of those happens. The **Project** tab is the dashboard of the right pane's project (the focused task's, or the project focused with no task). Under **Tasks** it lists the project's active tasks in the server's order (newest first), each with its session state, open inbox item count and **merge held** when it has `merge_queued_at`, as links that point the right pane at the task's transcript; the focused task is highlighted. Under **TODO** it lists the `TODO.md` items, grouped by section, with each body rendered as Markdown. An item with an active task whose `todo_item` equals its title shows that task's session state as a link to the task instead of the **Start** and **Discuss** buttons. **Start** posts the item with the composer's default model; **Discuss** posts it the same way with `discuss: true`. Neither moves the right pane (see "Start hold"). The task list follows byre's live state; the tab fetches the project's `TODO.md` when it opens, when the right pane moves to another project, when the project list changes, when the SSE stream reconnects, and on `task.merged`; a change pushed to the default branch outside byre shows the next time one of those happens.
+1 -1
View File
@@ -75,7 +75,7 @@ func todoPrompt(item api.TodoItem, discuss bool) string {
if !discuss { if !discuss {
return p return p
} }
return p + "\n\nThe human wants to talk this item through before any of it is built. Read what you need to understand it, then ask them about its open questions and your proposed approach with ask_human, and change nothing until they have answered." return p + "\n\nThe human wants to discuss this item with you before any of it is built: a conversation, not a questionnaire. Read what you need to understand it, then end your turn with your thoughts on it in your final message: how you read it, how you would approach it, and what trade-offs or doubts you see. Don't use ask_human for this; the human replies in the chat. Keep the conversation going turn by turn, and change nothing until they tell you to build it."
} }
func (m *Manager) createTask(ctx context.Context, project api.Project, t api.Task, frozen *store.FrozenWorkflow, base, actor string) (api.Task, error) { func (m *Manager) createTask(ctx context.Context, project api.Project, t api.Task, frozen *store.FrozenWorkflow, base, actor string) (api.Task, error) {
+173 -173
View File
@@ -950,7 +950,7 @@ type TodoItem struct {
// TodoStart defines model for TodoStart. // TodoStart defines model for TodoStart.
type TodoStart struct { type TodoStart struct {
// Discuss Tell the agent the human wants to talk the item through, so it asks before changing anything. // Discuss Tell the agent the human wants to discuss the item in chat before anything is built.
Discuss *bool `json:"discuss,omitempty"` Discuss *bool `json:"discuss,omitempty"`
Model *string `json:"model,omitempty"` Model *string `json:"model,omitempty"`
@@ -2899,178 +2899,178 @@ func HandlerWithOptions(si ServerInterface, options StdHTTPServerOptions) http.H
// const string: with thousands of chunks the chained `+` fold is several // const string: with thousands of chunks the chained `+` fold is several
// times slower for the Go compiler than parsing a slice literal. // times slower for the Go compiler than parsing a slice literal.
var swaggerSpec = []string{ var swaggerSpec = []string{
"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",
} }
// decodeSpec returns the embedded OpenAPI spec as raw JSON bytes, // decodeSpec returns the embedded OpenAPI spec as raw JSON bytes,
+1 -1
View File
@@ -144,7 +144,7 @@ function todoBlock(project, todo, active, starting, start) {
const busy = starting.has(`${project.id}\n${item.title}`); const busy = starting.has(`${project.id}\n${item.title}`);
const startButton = h("button", { disabled: busy, title: "Start a task that gets straight to work" }, busy ? "Starting…" : "Start"); const startButton = h("button", { disabled: busy, title: "Start a task that gets straight to work" }, busy ? "Starting…" : "Start");
startButton.onclick = () => void start(project, item, false); startButton.onclick = () => void start(project, item, false);
const discussButton = h("button", { disabled: busy, title: "Start a task that talks it through with you before changing anything" }, "Discuss"); const discussButton = h("button", { disabled: busy, title: "Start a task that discusses it with you in chat before building anything" }, "Discuss");
discussButton.onclick = () => void start(project, item, true); discussButton.onclick = () => void start(project, item, true);
action = h("span", { class: "todo-buttons" }, startButton, discussButton); action = h("span", { class: "todo-buttons" }, startButton, discussButton);
} }
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -49,7 +49,7 @@ function fill(el, model) {
}; };
const startButton = h("button", { disabled: busy, title: "Start a task that gets straight to work" }, busy ? "starting…" : "start"); const startButton = h("button", { disabled: busy, title: "Start a task that gets straight to work" }, busy ? "starting…" : "start");
startButton.onclick = () => void start(false); startButton.onclick = () => void start(false);
const discussButton = h("button", { disabled: busy, title: "Start a task that talks it through with you before changing anything" }, "discuss"); const discussButton = h("button", { disabled: busy, title: "Start a task that discusses it with you in chat before building anything" }, "discuss");
discussButton.onclick = () => void start(true); discussButton.onclick = () => void start(true);
replace(action, startButton, h("span", { class: "todo-sep" }, " · "), discussButton); replace(action, startButton, h("span", { class: "todo-sep" }, " · "), discussButton);
} }
+1 -1
View File
@@ -1 +1 @@
{"version":3,"file":"todolink.js","sourceRoot":"","sources":["../src/todolink.ts"],"names":[],"mappings":"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"} {"version":3,"file":"todolink.js","sourceRoot":"","sources":["../src/todolink.ts"],"names":[],"mappings":"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"}
+1 -1
View File
@@ -892,7 +892,7 @@ export interface components {
/** @description The title of the item to start. */ /** @description The title of the item to start. */
title: string; title: string;
model?: string; model?: string;
/** @description Tell the agent the human wants to talk the item through, so it asks before changing anything. */ /** @description Tell the agent the human wants to discuss the item in chat before anything is built. */
discuss?: boolean; discuss?: boolean;
}; };
Unmerged: { Unmerged: {
+1 -1
View File
@@ -187,7 +187,7 @@ function todoBlock(project: Project, todo: Todo | string | undefined, active: Ta
const busy = starting.has(`${project.id}\n${item.title}`); const busy = starting.has(`${project.id}\n${item.title}`);
const startButton = h("button", { disabled: busy, title: "Start a task that gets straight to work" }, busy ? "Starting…" : "Start"); const startButton = h("button", { disabled: busy, title: "Start a task that gets straight to work" }, busy ? "Starting…" : "Start");
startButton.onclick = () => void start(project, item, false); startButton.onclick = () => void start(project, item, false);
const discussButton = h("button", { disabled: busy, title: "Start a task that talks it through with you before changing anything" }, "Discuss"); const discussButton = h("button", { disabled: busy, title: "Start a task that discusses it with you in chat before building anything" }, "Discuss");
discussButton.onclick = () => void start(project, item, true); discussButton.onclick = () => void start(project, item, true);
action = h("span", { class: "todo-buttons" }, startButton, discussButton); action = h("span", { class: "todo-buttons" }, startButton, discussButton);
} }
+1 -1
View File
@@ -62,7 +62,7 @@ function fill(el: HTMLElement, model: string): void {
}; };
const startButton = h("button", { disabled: busy, title: "Start a task that gets straight to work" }, busy ? "starting…" : "start"); const startButton = h("button", { disabled: busy, title: "Start a task that gets straight to work" }, busy ? "starting…" : "start");
startButton.onclick = () => void start(false); startButton.onclick = () => void start(false);
const discussButton = h("button", { disabled: busy, title: "Start a task that talks it through with you before changing anything" }, "discuss"); const discussButton = h("button", { disabled: busy, title: "Start a task that discusses it with you in chat before building anything" }, "discuss");
discussButton.onclick = () => void start(true); discussButton.onclick = () => void start(true);
replace(action, startButton, h("span", { class: "todo-sep" }, " · "), discussButton); replace(action, startButton, h("span", { class: "todo-sep" }, " · "), discussButton);
} }