feat: add GitHub Copilot CLI host adapter#27
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
|
CI approval needed: the fresh Plugin Tests run for commit |
🤖 Solution Draft LogThis log file contains the complete execution trace of the AI solution draft process. 💰 Cost estimation:
📊 Context and tokens usage:
Total: (641.0K + 19.2M cached) input tokens, 94.1K output tokens, $29.805555 cost 🤖 Models used:
📎 Log file uploaded as Gist (6369KB)Now working session is ended, feel free to review and add any feedback on the solution draft. |
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
Supersedes closed PR #26, whose frozen pre-
devhead cannot be reopened after the prepared branch was rebased onto the requested base.Fixes #24