Skip to content

docs: the Scope allows a subprocess for stdio MCP; the Node twin runs the loop contract - #49

Merged
acn-ericlaw merged 1 commit into
mainfrom
docs/scope-stdio-mcp-subprocess
Nov 3, 2026
Merged

acn-ericlaw merged 1 commit into
mainfrom
docs/scope-stdio-mcp-subprocess

Conversation

@acn-ericlaw

Copy link
Copy Markdown
Collaborator

What

  • README Scope.
    • A function always runs in this process, never in a subprocess or an embedded interpreter.
    • The one subprocess the pack may start is an MCP server reached over stdio. The pack runs it as a child process and talks to it over stdin and stdout.
    • That is why the MCP clients of the engines' agent loop (RFC-0011) live in the language packs. The stdio binding itself is a later build step.
  • The LLM helper in the Scope. The Scope now says the helper is an application on the package, not part of it. Its llm.chat is configurable: a stateless chat, or one turn of a multi-turn tool-use loop whose transcript lives in the configured store.
  • extensions/llm-helper/README.md. The Node twin runs the loop contract too (mercury-nodejs #115), so the line saying it is "still to come" is replaced.
  • CHANGELOG. Added 2 notes that the Node twin runs the shared loop vectors. The new Changed 3 records the Scope change. The released sections are unchanged against v4.12.21.

Why

Eric ruled on 2026-11-03 that the language packs may run subprocesses so they can support stdio MCP. That is the reason the MCP client work moved from the engines to the packs: no engine starts a child process. The Scope is the consumer-facing statement of what the package does and does not do, so it says this before the binding lands. The same day's invariant re-verify confirmed the helper's configurable transcript store as by design, and the Scope now says that too. The pack's Vision was amended in memory to match.

Docs only: no code or configuration change.

Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com

🤖 Generated with Claude Code

… the loop contract

Eric ruled on 2026-11-03 that the language packs may run subprocesses, so that they can host
stdio MCP servers; that is the reason the MCP client work moved from the engines to the packs
(RFC-0011). The README's Scope now says a function always runs in this process, and the one
subprocess the pack may start is an MCP server reached over stdio; the binding itself is a later
step. The Scope also says the LLM helper is an application on the package whose llm.chat is
configurable: a stateless chat, or a loop turn with a configured transcript store.

The helper's README no longer says the Node twin's loop contract is still to come: it merged
as mercury-nodejs #115. CHANGELOG: Added 2 notes the twin, and Changed 3 records the Scope.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
acn-ericlaw added a commit that referenced this pull request Nov 3, 2026
…cess for stdio MCP (Eric); the README Scope opened as #49

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@acn-ericlaw
acn-ericlaw merged commit 1d80984 into main Nov 3, 2026
5 checks passed
@acn-ericlaw
acn-ericlaw deleted the docs/scope-stdio-mcp-subprocess branch November 3, 2026 01:36
acn-ericlaw added a commit that referenced this pull request Nov 3, 2026
…ws a subprocess for stdio MCP

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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