Skip to content

docs(design): Forgecell plugins — engine-called MCP integrations (trackers, forges, reviewers) - #288

Merged
DanielNetzer merged 3 commits into
mainfrom
docs/plugins-design
Oct 30, 2026
Merged

DanielNetzer merged 3 commits into
mainfrom
docs/plugins-design

Conversation

@DanielNetzer

Copy link
Copy Markdown
Owner

What this is

A design doc for review: Forgecell plugins. GitLab, Jira and outside code reviewers become engine-called MCP integrations behind one small, contributor-friendly interface. It replaces the plan in #259 and absorbs #260.

Key decisions

  • A plugin is an MCP server (stdio) that exposes a fixed tool contract for its kind: tracker, forge or reviewer. Contributors can write one in any language.
  • The engine is the only caller. Write tools (forge_publish_draft) run only behind a human gate, bound to the approved digest. They are never exposed to a harness. Read-only tools may also be attached to the model as context through the existing extension path.
  • GitHub becomes the first built-in implementation behind the same Go interfaces, with no behaviour change. Slice 0 adds characterization tests to prove it.
  • Manifests are the extension manifest (strict JSON, server executable pinned by digest), plus kind, contract and needs. A plugin is enabled by a reviewed Formula change.
  • Outside-reviewer fix rounds: you approve the fix plan; if coding, checks and Forgecell's own review are green, the commit is pushed to the same draft automatically. There are at most 3 rounds, and nothing ever merges.
  • Contributor kit: forgecell plugin new scaffolds a plugin; forgecell plugin test is the conformance kit (offline contract mode, opt-in live mode).

Rollout

  1. Characterization tests
  2. Interfaces, with GitHub behind them
  3. Plugin runtime (MCP client, manifest, Formula keys, contract schemas, doctor, contract tests)
  4. GitLab forge
  5. Jira tracker (slices 3 and 4 can run in parallel)
  6. Reviewer kind (Post-v1: outside code-review agents (Baz, GitLab Duo, BugBot, Anthropic/OpenAI/Qodo…) feed findings back into the loop; auto-fix high severity #260)
  7. Contributor kit and docs/plugins.md

A builder check (a fresh reviewer planning from the doc alone) raised 8 questions. 7 are answered in the doc and marked "my call". 1, the fix-round gates, was decided by the operator.

Docs only. No marketing or product impact until the slices land.

🤖 Generated with Claude Code

…trackers, forges and reviewers

Replaces the plan in #259 and absorbs #260. A plugin is an MCP server with a fixed
per-kind tool contract; the engine is the only caller, writes stay behind human
gates, and GitHub becomes the first built-in implementation behind the same
interfaces.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Daniel Netzer and others added 2 commits October 30, 2026 12:17
…ness-as-plugin, evidence Atoms, ci kind, read API, sandboxing)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@DanielNetzer
DanielNetzer marked this pull request as ready for review October 30, 2026 10:17
@DanielNetzer
DanielNetzer merged commit 777b56e into main Oct 30, 2026
2 checks passed
@DanielNetzer
DanielNetzer deleted the docs/plugins-design branch October 30, 2026 10:27
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