Skip to content

feat(server): workflow rules and task tools for project chats (ADR-0024) - #40

Merged
hi-donwi merged 2 commits into
mainfrom
feat/desk-chat-tools-workflow
Oct 17, 2026
Merged

hi-donwi merged 2 commits into
mainfrom
feat/desk-chat-tools-workflow

Conversation

@hi-donwi

Copy link
Copy Markdown
Owner

Summary

These are the last two desk steps of Agent-Workspace ADR-0024.

  • Workflow rules. A coding session started for a board card ("Assign to agent", cardKey: task:<id>) now moves that task as the work moves:

    • a passing verify moves it to review;
    • a ship moves it to done, with the commit in a comment;
    • a discard moves it back to ready.

    Each move is ws task status plus a comment, so the task's activity records what happened. If a move is refused, the push or discard it follows is not undone. Ship reports the task's new status, or a warning. The rules live in server/workflow.ts; verify, ship, and discard each call it.

  • Task tools in a project chat.

    • A project-bound chat gets these tools: list_tasks, today, add_task, update_task, and client_profile.
    • They run the same ws commands the desk and ws mcp use, limited to the project and its client's own work.
    • Every change is the task_change action under the project's operator policy, gated like run_command. With no policy, a change is refused. An update passes the task's revision from one step to the next.
    • Restricted client records never appear in an answer.
    • The system prompt now tells the model to record what it changes on the task itself.

Test plan

  • pnpm test: 264 passing.
    • server/workflow.test.ts: the task link, each move with its comment, and a refused move that does not fail.
    • server/hand-back.test.ts: a linked task moves to review on verify and to done on ship, using real git.
    • server/tools/pm-tools.test.ts: the scope limit, no activity in the brief, refusal without a policy, a change allowed by policy, and the revision carried across update steps.
  • pnpm lint, pnpm exec tsc -b
  • PW_CHANNEL=chrome pnpm test:ui: 37 passing
  • Identifier scan of the diff and the commit messages: no matches

Generated with Claude Code

hi-donwi and others added 2 commits October 17, 2026 22:10
Workflow rules (Agent-Workspace ADR-0024): a coding session started for a
board card (cardKey task:<id>) moves its task as its work moves - a
passing verify to review, a ship to done with the commit in a comment, a
discard back to ready. Each move is ws task status plus a comment, so the
task's activity tells the story; a refused move never undoes the push or
the discard it follows, and ship reports it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A chat bound to a project gets list_tasks, today, add_task, update_task,
and client_profile: the same ws commands the desk and ws mcp use, for the
project and its client's own work only. Changes are the task_change
action under the project's operator policy (ADR-0014/0020), gated like
run_command; an update carries the revision through its steps. Restricted
client records never appear in an answer. The system prompt tells the
model to record what it changes on the task.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@hi-donwi
hi-donwi merged commit d2821a3 into main Oct 17, 2026
2 checks passed
@hi-donwi
hi-donwi deleted the feat/desk-chat-tools-workflow branch October 17, 2026 15:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant