Files
byre/TODO.md
T
2026-10-15 23:11:48 -07:00

4.3 KiB

Bugs

  • Merge explains why it did nothing confirmMerge in web/src/task.ts returns silently when the agent is running, a merge is queued, or no commits or files differ from the default branch. Each case shows an alert instead: "Agent is mid-turn; merge when it's idle", "Merge already held behind another merge in this project", "Nothing to merge: no commits or uncommitted files differ from main".

M1 — One agent end to end

M2 — Seeing the work

  • Drafts survive reload Composer text drafts and inbox answer drafts (checked choices and free text) are mirrored into localStorage, keyed by user plus the existing composer key or inbox item id, with a debounced save and a flush when leaving the composer. A draft is cleared only after a successful send; a failed send keeps it. Drafts for closed tasks and vanished items are pruned. Storage that throws or holds malformed data falls back to the in-memory drafts. Pending images are not restored; the composer says how many need re-attaching instead of dropping them silently.
  • Friendlier Preview empty state The Preview tab's empty state reads "No server shown yet. Ask the agent to start one and show it here." instead of naming expose_port, and the tab has a Reload button.
  • Keyboard shortcut overlay ⌘/ opens an overlay listing every keyboard shortcut.
  • Pick project and model when creating a task The switcher's task creation lets a proj: prefix narrow to project rows instead of always using the focused or first project, and the "New task in X" row shows the model that will run.

M3 — Second vendor and review

M4 — Merging and history

  • Review context in the Merge dialog The Merge confirmation shows a non-blocking review section for the current snapshot: running, failed, skipped, not reviewed, or completed with finding counts by severity and links to each finding (including findings with no path or line), plus how many files changed since the reviewed snapshot. Earlier snapshots' findings sit in an expandable list labelled by snapshot, with resolution unknown rather than "unresolved", since each review covers only its own step. It notes that merging squashes into one commit, pushes, and removes the worktree, and that the Merge turn can still change the branch. Opening a finding and returning keeps the edited title. The section refreshes from events while open and shows a fetch failure as unavailable.
  • Closed tasks list The Project view has a searchable "Closed" list with each closed task's title, outcome, merge commit and final summary, read from the events that survive close. Worktree artifacts are not retained.

M5 — Workflows

  • Workflow tab A read-only right-pane tab on tasks with a workflow_run, showing the frozen graph (lazy-loaded Mermaid) and a textual stage list linking to each stage's task attempts and their finish_stage output. Each stage shows waiting on named dependencies, running, idle but not finished, finished, discarded before finishing, or discarded by normal cleanup after finishing, and which fork attempt fed the next stage. Backed by a typed run-progress API carrying the frozen definition, attempts, completion and dependency provenance, updated from sibling-task events.
  • Start a workflow from the switcher A "Start workflow…" entry beside "New task in …" in the switcher starts a saved workflow.

M6 — Fan-out

M7 — Inbox triage

  • Human-facing task state Switcher and Project rows show one derived label instead of the raw session state, by precedence: "Needs your answer" (a blocked or gate item), "Merging" or "Merge held", "Error", "Working", "Idle".
  • Unread summary marker Switcher and Project rows show a "New summary" marker, with text and an accessible label, when a task has a summary the user hasn't read. Selecting it opens the Transcript at that summary. Read state is per browser and per user, by event seq; a summary counts as read only when shown in a visible transcript or through "Mark seen", not by opening another tab or switching tasks. Task carries its latest summary seq so the marker survives reload without loading transcripts.
  • Answer refinements Choice blocks get clearer focus and arrow-key navigation. A "Let the agent decide" answer sends "Use your judgment for this decision and continue within the existing task instructions." and appears in the answer history; it never stands in for a required owner authorization.