Lay Orchestra out as Kessai: the contract as the root module orchestra, the engine as orchestra_engine

Closes #3631455.

Lays Orchestra out like Kessai: the root module is the contract every site installs, and the engine is a submodule.

  • orchestra (root, hidden: true) is the contract. It holds what used to be orchestra_client_api: OrchestraClientInterface, the client resolver, FloodGuard and the request limits page.
  • orchestra_engine (modules/orchestra_engine) is the engine, which used to be the root module. It keeps its definitions, instances, tokens, tasks and the in-process LocalOrchestraClient.
  • orchestra_client and orchestra_server keep their names.

The engine's machine names move with it: its namespace, the 79 service ids, routes, menu and task links, collecting tags, its config schema families and config names (orchestra.settings becomes orchestra_engine.settings; the contract's settings become orchestra.settings). Entity type ids, plugin ids, hook and event names, the token type, the logger channel and the audit chain stay orchestra.

Commits, one per step:

  1. Move the engine from the root module to modules/orchestra_engine.
  2. Make the contract the root module orchestra, as Kessai does.
  3. Describe both in the documentation.
  4. Point the project-wide test sweeps at the project root.
  5. Restore the line endings the dependency rename took from fourteen info files.
  6. Say the engine, or orchestra_presentation, where a comment still said the base module.
  7. Give the modeler orchestra_engine as the workflows' config provider (the export archive named its file after the old prefix), and move the last orchestra.-prefixed names the rename missed (orchestra_ui.tenants, the examples test's globs, the inbox view's tag order).
  8. Rewrap a design goal and fix an article.

No upgrade path, as before beta. A site already running Orchestra needs a one-time rename, done with the old code still in place: its modules and schema versions, its config objects and their dependencies, the installed entity and base field definitions, the config entity key stores, and locale's project entries. A workflow archive exported before this change carries the old file prefix and does not import after it.

AI-Generated: Yes (Claude Code was used to write the change and this description. I reviewed both.)

Edited by Frank Mably

Merge request reports

Loading
Loading