Skip to content

feat: add project default MCP settings across UI and session authoring - #1708

Merged
lodystage[bot] merged 11 commits into
mainfrom
docs/project-default-mcp
Oct 21, 2026
Merged

lodystage[bot] merged 11 commits into
mainfrom
docs/project-default-mcp

Conversation

@Leeeon233

@Leeeon233 Leeeon233 commented Oct 19, 2026 •

Copy link
Copy Markdown
Contributor

Related issue

No linked issue; internal feature request.

Problem / pressure

Projects need reusable MCP selections. Resolve defaults at turn authoring so settings changes cannot alter accepted work.

Summary

Add a Default MCP tab after Skills in desktop project settings, with switches and loading, failure, missing-connection and read-only states. Workspace Flock stores one ids array per project: absence inherits workspace defaults; a present array replaces them; [] turns all off. Branches/worktrees share project identity.

Landing, draft and existing-session composers use scoped selection and click-time snapshots. CLI and single/batch MCP creation resolve target-project defaults; continuation retains the target selection. Explicit ids override either path. Existing Operation configuration freezes ids for retry/recovery; runtime consumes only turn ids.

UI writes check project authority and workspace scope, commit locally, then upload best-effort. UI Designer's UI and translations are integrated. Latest main is merged, preserving attachments, run-config provenance and Operation origin metadata. Bilingual Specs remain draft; the architecture note records implementation, limits and ablation evidence.

Ablation removed the single-consumer settings hook/model, memo wrappers, duplicate save/error state, and a project-row write helper with no production consumer: 70 fewer production lines. The Tab now owns edit state directly. Removing the readiness gate caused three behavioral failures, so that guard is retained. Failed-save recovery coverage was added.

Visual explanation

flowchart LR
  C[Workspace catalog] --> R[Shared default resolver]
  P[Project ids array] --> R
  R --> A[UI / CLI / MCP authoring]
  E[Explicit or existing selection] --> A
  A --> T[Turn and Operation ids]
  T --> D[Dispatch and recovery]
Loading

Before / after

Projects previously had no default MCP setting, and CLI/MCP turns omitted selection. New conversations preselect defaults; existing conversations retain their selection, including []. Customized projects stop inheriting later workspace-default additions.

Test plan

  • Final targeted ablation validation: 84 UI + 22 shared + 120 CLI tests passed. Failed-write/retry was tested before and after simplification; unauthorized writes and click-time snapshots remain covered.
  • Negative control: removing readiness caused 3 failures / 6 passes; restored before final validation. No behavioral tests were removed.
  • Full pnpm check: typechecks and lint passed; CLI completed 4,421 passed / 4 skipped / 1 failed. The unchanged recursive Git SSH-submodule test still fails with context_unreadable. This stops the full command before the integrated components suite completes; do not treat it as a green full check.
  • Formatting and docs check passed. Earlier platform/public-boundary and translation checks passed; the ablation adds no platform paths or copy.
  • UI Designer previously ran 557 components files / 4,910 tests and light/dark Storybook checks before the main merge; this is not full-suite validation of the final head.
  • No packaged Electron walkthrough. Mobile project settings retain their layout. Failed catalog opens retry after all consumers release; loaded local snapshots remain usable offline.

PR remains draft pending human review.

@Leeeon233 Leeeon233 changed the title docs: propose project default MCP selection feat: add project MCP defaults and session authoring support Oct 19, 2026
web-flow and others added 3 commits October 19, 2026 21:08
Expose project MCP defaults from the shared catalog room, with loaded and
failed states. Add an authorized project-default writer that checks
authority, workspace scope and ids at the write, resolves on local
durability, and never fails on upload.

Add a Default MCP tab after Skills in the project window. Landing, draft
and existing-session composers now use the scoped selection. New
conversations preselect target-project defaults and wait until those
defaults are read. Existing conversations keep their recorded ids, and
unrecorded ones stay empty. Edits reset in the same render when the
workspace or project changes. Sends carry the selection captured at
click time.

Model: claude-opus-5-5

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Model: claude-opus-5-5

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Leeeon233 Leeeon233 changed the title feat: add project MCP defaults and session authoring support feat: add project default MCP settings across UI and session authoring Oct 19, 2026
Preserve attachment inputs, frozen run-config provenance and current catalog ownership while resolving project-default conflicts.

Model: gpt-6-astra
Remove the single-consumer settings hook, redundant model and memo wrappers, duplicate save-state error handling, and a test-only exported Flock writer. Preserve readiness and authorization; add failed-write recovery coverage.

Model: gpt-6-astra
@lodystage
lodystage Bot marked this pull request as ready for review October 21, 2026 03:17
@lodystage
lodystage Bot merged commit 86c2100 into main Oct 21, 2026
16 checks passed
@lodystage
lodystage Bot deleted the docs/project-default-mcp branch October 21, 2026 04:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants