Skip to content

refactor(llm-helper): graduate the LLM helper from examples/ to extensions/ - #46

Merged
acn-ericlaw merged 1 commit into
mainfrom
refactor/llm-helper-extension
Nov 3, 2026
Merged

acn-ericlaw merged 1 commit into
mainfrom
refactor/llm-helper-extension

Conversation

@acn-ericlaw

Copy link
Copy Markdown
Collaborator

What

  • examples/llm-helper/ moves to extensions/llm-helper/: three renames, no content change to the app (llm_helper.py, its README and resources/application.yml). examples/ keeps the demo app.
  • The sdist's only-include and the basedpyright include gain extensions; the tests load the helper from the new folder.
  • The paths that name it follow: the README's run commands, the sample config's comment, the demo app's two links, the consumer folder table in system/AGENTS.md (a new extensions/ row), the pack's test report (its link to the folder on main and its reproduce command), and the repository structure in memory/instructions.md. CHANGELOG Unreleased, Changed 2, with the upgrade note. Released CHANGELOG sections keep the old path as history.
  • The Node twin's path stays examples/llm-helper in the docstring and the README: mercury-nodejs has not moved yet.
  • Verified: ruff and basedpyright clean, 208 tests. Started from /tmp with absolute paths, the app logs Configuration: .../extensions/llm-helper/resources/application.yml and answers /info as llm-helper (the resources-folder rule holds in the new place). uv build --sdist lists extensions/llm-helper/ beside examples/demo-app/.

Why

The helper is no longer a sample to copy. It is a function host an installation runs to give its engines an LLM, and the next change makes it the model turn of the engines' agent loop (RFC-0011 in mercury-composable), with a transcript store of its own. The maintainer's direction is that it graduates from an example to an extension, as optional add-ons do in the engine repository. The move goes in a PR of its own, ahead of that feature, so a reviewer reads a pure rename here and the loop contract on its own in the next PR (feat/llm-chat-loop-contract, which is rebased onto main once this merges).

Upgrade note: start the helper 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. The routes, the contract and the configuration keys are unchanged.

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

🤖 Generated with Claude Code

…sions/

The helper is no longer a sample to copy but a function host an installation runs to
give its engines an LLM, so it moves to extensions/llm-helper/; examples/ keeps the demo
app. Files, routes, contract and configuration keys are unchanged. The sdist and the type
check include the new folder, the tests load the helper from it, and the README commands,
the demo app's links, the consumer folder table, the test report and the CHANGELOG
(Unreleased, Changed 2) follow. The Node.js twin still lives in mercury-nodejs
examples/llm-helper until it moves the same way.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@acn-ericlaw
acn-ericlaw merged commit 13cf394 into main Nov 3, 2026
5 checks passed
@acn-ericlaw
acn-ericlaw deleted the refactor/llm-helper-extension branch November 3, 2026 00:06
acn-ericlaw added a commit that referenced this pull request Nov 3, 2026
…M helper in extensions/, its loop contract); llm-chat-loop-contract closed

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