Skip to content

feat(mcp): auto-wire first-party MCP into all 17 MCP-capable hosts + CI/doctor/CHANGELOG#14

Merged
Lyther merged 8 commits into
mainfrom
feat/mcp-full-autowire
Jul 1, 2026
Merged

feat(mcp): auto-wire first-party MCP into all 17 MCP-capable hosts + CI/doctor/CHANGELOG#14
Lyther merged 8 commits into
mainfrom
feat/mcp-full-autowire

Conversation

@Lyther

@Lyther Lyther commented Jul 1, 2026

Copy link
Copy Markdown
Owner

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.yaml extensions, user-scope) + Poolside (settings.yaml mcp_servers). Preserves keys/comments/siblings, idempotent, refuses tabs/flow-style rather than corrupt. Opt-in fix: --category mcps without --service is first-party only. Honest target-capabilities matrix (every target generated/none-with-reason).
  • feat(ops) — CI Node-22 mcp job (grimoire incl. real-pack eval gate + synapse suites + audits); doctor MCP health (linked bins, sidecar, grimoire index freshness vs repo pin); CHANGELOG.
  • docs(ops-docs)/ops:docs rewritten to Diátaxis + minimalism (653 → 159 lines); lean README; full matrix in docs/reference/targets.md.
  • fix(mcp) ×3 — Goose user-scope writes MCP only (no ~/recipes); --target all --category mcps skips non-MCP targets; a category install with no installable target fails instead of a no-op false-success.

Proof

  • check ok · repo test ok · grimoire 25/25 (incl. real-pack eval + spawned-stdio) · synapse 29/29 · doctor ok · audits 0 vulns.
  • All 17 host config families verified (JSON/TOML/JSONC/YAML); YAML merge proven non-destructive + idempotent on a real 11-extension Goose config.
  • Live installed grimoire-server (4 tools, real hits) + synapse-bridge (7 tools) stdio smokes pass.
  • New regressions: opt-in, YAML merge, Goose scope-gating, --target all skip, all-non-applicable failure.

Review history

Resolved F001–F006 across 4 peer rounds (opt-in leak, YAML auto-wire, matrix honesty, docs drift, Goose $HOME recipes, multi-target install semantics).

Not in scope (human-owned)

  • Per-host in-UI/CLI launch smoke (config presence + generic stdio proven; in-app loading is GUI/human) — confirmed done by the maintainer.
  • NODE_TLS_REJECT_UNAUTHORIZED=0 lives in the reviewer's session env, not the repo.

Lyther added 8 commits July 1, 2026 04:05
…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.
@Lyther
Lyther merged commit 74d750b into main Jul 1, 2026
2 checks passed
@Lyther
Lyther deleted the feat/mcp-full-autowire branch July 1, 2026 04: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.

1 participant