feat: add GitHub Copilot CLI host adapter#26
Closed
konard wants to merge 2 commits into
Closed
Conversation
Synthesized from dev — see docs/release.md on dev for the blocklist.
Adding .gitkeep for PR creation (default mode). This file will be removed when the task is complete. Issue: archcore-ai#24
Author
|
Replacement PR: https://github.com/archcore-ai/plugin/pull/27\n\nPR 26 cannot be reopened because GitHub froze its pre-dev head SHA, which has no common ancestry with the dev base. The prepared branch now contains the completed, dev-based implementation; PR 27 preserves that branch and supersedes this closed draft. |
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
.plugin/plugin.jsonmanifest and camelCase hooks configurationarchcore-*MCP tool names without changing the behavior pinned for existing hosts0.4.23version bumpReproduction and root cause
The prepared adapter still encoded provisional Copilot payload assumptions. Live captures showed that native
create/editcalls put the file in an absolutepathfield rather thanfile_path, and Copilot exposes the Archcore MCP update tool asarchcore-update_documentrather than the shared canonical name. In addition, hooks without an explicit project-relativecwdexecute from the installed plugin directory.The normalizer now maps those native payloads into the existing internal contract, and the Copilot hook file pins
cwd: ".",ARCHCORE_HOST=copilot, native lifecycle keys, mutation-tool matchers, and bounded pre/post hook execution.Verification
make all— JSON, permissions, ShellCheck, and all 385 Bats tests passmake test-codex-smoke— all 5 Codex marketplace/install/runtime smoke tests pass.archcore/*.mdcreate is denied and no target is writtenadditionalContextreaches the model in an empty projectarchcore-update_documentnormalization regressionUpstream dependencies found during live testing
Two end-to-end acceptance gaps are outside this plugin adapter and now have focused upstream reports:
hookSpecificOutputenvelope forarchcore hooks copilot session-start; Copilot requires top-leveladditionalContextThe adapter and its independently testable protections are ready for review; initialized-project session context and project-correct MCP operation remain gated by those upstream fixes.
Addresses #24