feat(mcp): auto-wire first-party MCP into all 17 MCP-capable hosts + CI/doctor/CHANGELOG#14
Merged
Conversation
…it, usable Replace the 653-line IEEE/MIL-STD doc catalog with a 159-line command that: - classifies docs by Diátaxis mode (tutorial/how-to/reference/explanation) and un-mixes them - enforces a house style (lede-first, less-is-more, tables-for-matrices, one canonical home) - sets per-doc concision budgets; comprehensive only for architecture/roadmap/data-model/api - is aggressive by default (plan → --write), bound by evidence (never invent, never destroy) - derives the minimal repo-fit doc set instead of a fixed enterprise checklist
…in fix + honest matrix Every MCP-capable runtime now auto-receives Synapse + Grimoire (non-destructive merge): - add JSON wiring: VSCodium (servers), Grok Build (.grok/settings.json), Antigravity CLI (plugin mcp_config.json) - add a safe non-destructive YAML block-merge (mergeYamlMcpConfig) and flip Goose (config.yaml extensions, user-scope) + Poolside (settings.yaml mcp_servers) to generated; preserves keys/comments/siblings, idempotent, refuses tabs/flow-style rather than corrupt - 12 → 17 generated MCP hosts; mcpConfig.scopes gate for user-global configs (Goose) Fix F001 opt-in: '--category mcps' without '--service' selects first-party only; external (agentmemory) requires an explicit --service. Add regression. Honest matrix + docs (F002/F003/F004): target-capabilities surfaces.mcp generated/none with reasons; targets.md, README, and all adapter READMEs say Synapse + Grimoire (no Synapse-only path bullets); roadmaps reconciled to 17 generated. Tests: YAML merge non-destructive + idempotent, F001 regression, per-format dist assertions. check + test green.
- CI: add a Node-22 'mcp' job running grimoire (incl. real-pack eval gate) + synapse package tests + audits on every PR (repo job stays Node 20). - doctor: report first-party MCP health — linked binaries, synapse sidecar, and grimoire index freshness (installed manifest pin vs repo registry pin; flags drift before runtime). - CHANGELOG.md: record grimoire 0.1, 17-host MCP auto-wire, opt-in fix, ops-docs/README. Closes the non-human production-readiness items P4.3/P4.5/P4.6 + P5.4/P5.5/P5.7. Remaining are human-only: per-host UI smoke, clearing NODE_TLS_REJECT_UNAUTHORIZED, push/PR/merge.
…ix honesty F001: gate Goose recipes to project scope at install time (commandInstallScopes) so a user-scope install writes ONLY the user-global ~/.config/goose/config.yaml MCP config and never splatters 66 recipes into $HOME; build still emits recipes to dist. Regression added. F002: README external-packs bullet corrected — full installs DO include in-scope external packs (strict-sync prunes out-of-scope); --category external narrows to external-only; the 754-skill anthropic pack stays excluded (source-pack) and Grimoire serves it JIT. F003: capability matrix made fully explicit — Poolside summary says MCP is generated (was 'manual'); pi (not-generated) and copilot (not-applicable) get explicit surfaces.mcp with reasons (no more 'missing'); synapse + grimoire local_wiring extended to all 17 hosts. check + test green.
…of failing F005: a multi-target MCP-only install (e.g. `install --target all --scope user --category mcps`) now exits 0 — targets with no applicable MCP surface (pi/antigravity/ copilot) are reported as 'not applicable', not blockers. A single explicit non-MCP target still returns the informative hard error. Thread multiTarget into installPlan; surface notApplicableCategories on the plan and print it. Regression added. check + test green.
…le outputs F006: move the 'nothing installable' decision from per-plan to run level. A category-filtered install (e.g. --category mcps) now fails when NO selected target has any writes or config merges — closing the false-success no-op where 'install --target pi,copilot --category mcps' exited 0 doing nothing. Individual non-applicable targets stay informational; --target all and any selection containing a wired target (e.g. pi,copilot,goose) stay green. Regression added.
- Aggressively align and restructure project documentation to create a concise, single-source-of-truth set. - Emphasize the importance of factual accuracy and alignment with code, introducing a single source of truth for each fact. - Implement a clear structure for documentation, including file/folder moves, merges, and deletions, while ensuring comprehensive coverage only where necessary. - Establish guidelines for document style and conciseness, reinforcing the principle of "less is more" and ensuring each document serves its intended purpose without redundancy.
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
Makes Synapse + Grimoire auto-wire (non-destructive merge) into every MCP-capable agent-surface host — 17 targets across JSON, TOML, and YAML config families — and closes the honesty/CLI gaps a 4-round review surfaced.
What's in here (6 commits, scoped)
feat(mcp)— 12 → 17 generated MCP hosts: add JSON wiring (VSCodium, Grok Build, Antigravity CLI) and a safe non-destructive YAML block-merge (mergeYamlMcpConfig) for Goose (config.yamlextensions, user-scope) + Poolside (settings.yamlmcp_servers). Preserves keys/comments/siblings, idempotent, refuses tabs/flow-style rather than corrupt. Opt-in fix:--category mcpswithout--serviceis first-party only. Honesttarget-capabilitiesmatrix (every target generated/none-with-reason).feat(ops)— CI Node-22mcpjob (grimoire incl. real-pack eval gate + synapse suites + audits);doctorMCP health (linked bins, sidecar, grimoire index freshness vs repo pin);CHANGELOG.docs(ops-docs)—/ops:docsrewritten to Diátaxis + minimalism (653 → 159 lines); lean README; full matrix indocs/reference/targets.md.fix(mcp)×3 — Goose user-scope writes MCP only (no~/recipes);--target all --category mcpsskips non-MCP targets; a category install with no installable target fails instead of a no-op false-success.Proof
checkok · repotestok · grimoire 25/25 (incl. real-pack eval + spawned-stdio) · synapse 29/29 ·doctorok · audits 0 vulns.grimoire-server(4 tools, real hits) +synapse-bridge(7 tools) stdio smokes pass.--target allskip, all-non-applicable failure.Review history
Resolved F001–F006 across 4 peer rounds (opt-in leak, YAML auto-wire, matrix honesty, docs drift, Goose
$HOMErecipes, multi-target install semantics).Not in scope (human-owned)
NODE_TLS_REJECT_UNAUTHORIZED=0lives in the reviewer's session env, not the repo.