Skip to content

[codex] Define MCP-first ACP workspace contract#34

Merged
nick-pape merged 2 commits into
mainfrom
codex/define-acp-mcp-contract
Jun 10, 2026
Merged

[codex] Define MCP-first ACP workspace contract#34
nick-pape merged 2 commits into
mainfrom
codex/define-acp-mcp-contract

Conversation

@nick-pape

Copy link
Copy Markdown
Owner

Summary

Defines Fledgling's minimum ACP workspace contract as MCP-first: ACP remains the orchestration protocol, while file and command capabilities come from MCP tools rather than ACP host filesystem or terminal APIs.

Changes

  • Adds README language documenting the ACP/MCP capability split.
  • Clarifies inert ACP host filesystem/permission stubs in the smoke client, host-log CLI, and web demo client.
  • Adds guardrail coverage for the advertised minimum initialize() capabilities.
  • Adds a prompt-flow test that fails if ACP host permission or filesystem methods are called.

Validation

  • pnpm test in packages/acp-agent
    • 4 test files passed
    • 19 tests passed

Notes

ACP filesystem/terminal compatibility remains future work for #11 and #12. Permission bridging for MCP-backed writes and commands remains separate work for #13.

@nick-pape
nick-pape marked this pull request as ready for review June 10, 2026 19:37
Copilot AI review requested due to automatic review settings June 10, 2026 19:37

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Defines and documents an MCP-first workspace capability contract for Fledgling: ACP is used for orchestration (sessions/turns/cancel/load), while workspace file/command functionality is expected to come from MCP tools (not ACP host filesystem/terminal APIs).

Changes:

  • Documented the ACP vs MCP responsibility split and clarified the current “MCP-first” workspace contract in the root README.
  • Made ACP host filesystem/permission surfaces explicitly inert (documented as stubs) in the smoke client, host-log CLI, and web demo client.
  • Added guardrail tests to lock in the minimum initialize() capabilities and to fail if prompt flow calls ACP host permission/filesystem methods.

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated no comments.

Show a summary per file
File Description
README.md Adds explicit ACP/MCP capability contract documentation and updates “Current Limitations” accordingly.
packages/web-demo/src/acp-demo.ts Clarifies the demo ACP client’s filesystem/permission methods are inert stubs (MCP workspace tools are the real backend).
packages/acp-host-log/src/index.ts Clarifies logging host filesystem/permission methods are inert stubs and should not be invoked in MCP-first mode.
packages/acp-agent/tools/smoke-client.mjs Clarifies smoke client filesystem/permission methods are inert stubs and should not be invoked in MCP-first mode.
packages/acp-agent/src/agent-prompt-cancellation.test.ts Adds capability-contract and “do not call ACP host fs/permission methods” guardrail coverage.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@nick-pape
nick-pape merged commit 4e50b5c into main Jun 10, 2026
4 checks passed
@nick-pape
nick-pape deleted the codex/define-acp-mcp-contract branch June 10, 2026 20:44
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.

2 participants