[codex] Define MCP-first ACP workspace contract#34
Merged
Conversation
There was a problem hiding this comment.
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.
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
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
initialize()capabilities.Validation
pnpm testinpackages/acp-agentNotes
ACP filesystem/terminal compatibility remains future work for #11 and #12. Permission bridging for MCP-backed writes and commands remains separate work for #13.