Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@
under `transcript:{conversation}`, a Lua compare-and-set, a connection from the `llm.transcript.redis.*` keys). Every
write sets the record's time to live to the turn's `ttl` (default `7d`), and a run the model ends takes `retention`
(default `0`, which deletes the record). A new shared vector file, `tests/vectors/llm-loop-vectors.json` (66 cases),
pins the contract for the Node twin; the cases run on the memory store, a Redis fake, and a live Redis when
is shared byte for byte with the Node twin, which runs it too (mercury-nodejs #115); the cases run on the memory store, a Redis fake, and a live Redis when
`LLM_TRANSCRIPT_REDIS_URL` names one. **Upgrade note:** a request without `tools` behaves as before. `tools`,
`conversation`, `turn`, `results`, `ttl` and `retention` are now fields of the loop contract: on `llm.chat` they need
`tools`, and on `llm.stream` any of them is a 400. A loop turn needs `llm.transcript.store`; the sample configuration
Expand All @@ -62,6 +62,11 @@
configuration keys are unchanged; the sdist ships the new folder.
**Upgrade note:** start it as `mercury-serve extensions/llm-helper/llm_helper.py` (or
`python extensions/llm-helper/llm_helper.py`); a script or a deployment that names the old path changes it.
3. **The Scope allows one subprocess: an MCP server reached over stdio (2026-11-03).** A function still runs in the
pack's own process. The pack may run a stdio MCP server as its child process, which is the reason the MCP clients of
the engines' agent loop (RFC-0011) live in the language packs and not in the engines. Nothing starts one yet: the stdio
MCP binding is a later step. The README's Scope also says the LLM helper is an application on the package, whose
`llm.chat` is a stateless chat or a loop turn with a configured transcript store. **Upgrade note:** none.

## Version 4.12.21, 10/7/2026

Expand Down
10 changes: 10 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -213,6 +213,16 @@ workers, RPC and drop-n-forget — nothing more), and the minimalist foundation
keeping Python fast to prototype with while the composable core guarantees the
architecture.

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 its standard input and output. That is why the MCP
clients of the engines' agent loop (RFC-0011) live in the language packs: no engine starts a
child process. The stdio MCP binding itself is still to come.

The LLM helper in `extensions/llm-helper/` is an application on this 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 store the helper is configured with.

## Development

```bash
Expand Down
4 changes: 2 additions & 2 deletions extensions/llm-helper/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@ model advises within it.
`llm.chat` is also the model turn of the engines' agent loop (`llm.run`): see The loop contract.

The Node.js twin ([mercury-nodejs `extensions/llm-helper`](https://github.com/Accenture/mercury-nodejs/tree/main/extensions/llm-helper))
speaks the same contract. Both run the shared `llm-helper-vectors.json`, so they cannot drift apart; the twin's loop
contract, on the shared `llm-loop-vectors.json`, is still to come.
speaks the same contract, the loop contract included (mercury-nodejs #115). Both run the shared
`llm-helper-vectors.json` and `llm-loop-vectors.json`, so they cannot drift apart.

## Run it

Expand Down
Loading