From 7b2456a42876a7543ebc052c35da29bba8d8095a Mon Sep 17 00:00:00 2001 From: Eric Law <39393654+acn-ericlaw@users.noreply.github.com> Date: Mon, 2 Nov 2026 16:23:06 -0800 Subject: [PATCH] docs(llm-helper): the Node twin lives in extensions/llm-helper too mercury-nodejs #114 moved its helper in lockstep with #46, so the README and the helper's docstring name the twin's new path. The README no longer says the twin runs both shared vector files: it runs llm-helper-vectors.json, and its loop contract on llm-loop-vectors.json is still to come. The CHANGELOG's Changed 2 notes the lockstep. Co-Authored-By: Claude Opus 5.5 --- CHANGELOG.md | 3 ++- extensions/llm-helper/README.md | 5 +++-- extensions/llm-helper/llm_helper.py | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b352ed4..0cd0182 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -58,7 +58,8 @@ passes `--config`, or moves the folder next to the file. 2. **The LLM helper graduates from an example to an extension: `extensions/llm-helper/`.** It is no longer a sample to copy but a function host an installation runs to give its engines an LLM, so it moves out of `examples/`, which keeps the - demo app. The files, the routes, the contract and the configuration keys are unchanged; the sdist ships the new folder. + demo app - in lockstep with the Node twin (mercury-nodejs #114). The files, the routes, the contract and the + 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. diff --git a/extensions/llm-helper/README.md b/extensions/llm-helper/README.md index 52797e6..3ac41ad 100644 --- a/extensions/llm-helper/README.md +++ b/extensions/llm-helper/README.md @@ -14,8 +14,9 @@ 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 `examples/llm-helper`](https://github.com/Accenture/mercury-nodejs)) -speaks the same contract. Both run the same shared vector files, so they cannot drift apart. +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. ## Run it diff --git a/extensions/llm-helper/llm_helper.py b/extensions/llm-helper/llm_helper.py index a6737d1..90bff25 100644 --- a/extensions/llm-helper/llm_helper.py +++ b/extensions/llm-helper/llm_helper.py @@ -15,7 +15,7 @@ llm.timeout.ms, llm.max.retries, llm.fallbacks, llm.effort, and for the agent loop's turns llm.transcript.store (memory or redis), llm.transcript.ttl, llm.transcript.retention and the llm.transcript.redis.* connection keys. The contract, the keys and the backends are documented in -README.md next to this file. The Node.js twin (mercury-nodejs examples/llm-helper) speaks +README.md next to this file. The Node.js twin (mercury-nodejs extensions/llm-helper) speaks the same contract, and both are pinned by shared vector files. Then map the routes from a Mercury engine application (event-over-http.yaml):