Repository navigation
Conversation
Record the gap analysis, staged plan and settled prototype scope for listing projects in the sidebar and coordinating child conversations through one restricted coordinator conversation. Model: claude-fable-5-2 Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
Model: claude-fable-5-2 Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
A coordinator conversation carries SessionMeta.coordinator v1. Its daemon sends the coordinator system prompt as ACP systemPrompt (append) on every session/new, load, resume and fork, and refuses to start an agent that does not advertise sessionCapabilities.systemPrompt; the prompt never becomes user text. Probes and session starts record systemPrompt support on the capability entry, and the coordinatorSessions machine protocol capability gates the marker. Developer mode adds "Start coordinator conversation" to local project rows, which opens the new-chat page listing only eligible agents. Model: claude-opus-5-5 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ions Behind Developer mode, the sidebar gets a Projects / Conversations switch and a project list. Opening a project opens its coordinator conversation (or the coordinator start page), with a board beside it of every conversation the coordinator opened plus the project's other conversations, grouped as needs you, in progress, unread and done. Model: claude-opus-5-5 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ersation # Conflicts: # apps/cli/src/agent/acp-capabilities.ts # locales/en.json # locales/zh_CN.json # packages/components/src/components/loro-sidebar.tsx
The project board and the sidebar project list now count only conversations assigned to the current account, the same rule as the sidebar's My scope. Model: claude-opus-5-5 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
First version of the project coordinator conversation, as scoped in the note
.agents/notes/proposed/feature/2026-11-11-project-coordinator-mode.md("Settled (round 4)"). This branch also carries the two note commits fromproject-coordinator-mode-design, which were not onmainyet.SessionMeta.coordinator: { version: 1 }, written once with the first turn's metadata (same path asproject, so ordinary, E2EE and Roost workspaces behave alike). Forks of a coordinator copy it.apps/cli/src/session/coordinator-system-prompt.md(text taken verbatim from the note) as ACPsystemPromptinappendmode onsession/new,load,resumeandfork, including edit-and-resend replacements. Ordinary conversations send nosystemPrompt; their requests are unchanged (existing exact-request tests still pass).initializeadvertisessessionCapabilities.systemPrompt. If it does not, startup fails withACP_SYSTEM_PROMPT_UNSUPPORTED. The prompt is never moved into the user message. Probes and session starts recordsystemPrompton the capability entry.coordinatorSessionsmachine protocol capability, plussystemPrompt: trueon the agent config's capability entry. Older daemons and clients never get a marker they cannot honor. A marker version this daemon does not know fails the start instead of running without the prompt./chat?…&coordinator=true, which lists only eligible agents and writes the marker on first send.Project page prototype (second commit)
At the owner's request, Developer mode also shows the project layout from the owner's sketch. The sidebar gets a Projects / Conversations switch and a project list. Opening a project opens its coordinator (or the coordinator start page). Next to it is a board of the coordinator's conversations plus the project's other conversations (marked "Created manually"), grouped as Needs you / In progress / Unread / Done. A row opens that conversation's page; there are no right-hand tabs yet. Grouping lives in
components/project-mode/project-board-model.ts(tested); Storybook "Project mode/Coordinator page" renders the page from real components.Provider support (from adapter source at the pinned submodule commits)
Advertised: Claude (append and override), Codex (append only), DeepSeek Harness, Pi, and Kimi when its session runtime is bound. Grok and Devin forward their upstream CLI's capabilities, and the Lody Agent (Sorbet) ships outside this repo, so for those three only the runtime probe decides. No adapter or Core change was needed.
For the owner to check
promptPrefixto the first message, as it does everywhere else.ACP_CAPABILITY_CACHE_VERSIONwas not bumped, to avoid re-probing every provider. Existing entries qualify after one conversation start or a refresh in Settings; until then the page explains this.Verification
agent-client-session-start.test.tscovers the prompt on new, resume and fork and refusal without the capability;machine-document-capabilities.test.tscovers capability recording and the gate;use-session-actions.test.tscovers the marker on the real start path. Targeted CLI suites (602 tests), the shared suite, and the touched components suites pass after rebasing onmain.acp-extension-claudeimport.pnpm check/test matrix, and no real provider was driven end to end with the prompt. The UI was not exercised in a running app.🤖 Generated with Claude Code