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 beorchestra_client_api:OrchestraClientInterface, the client resolver,FloodGuardand 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-processLocalOrchestraClient.orchestra_clientandorchestra_serverkeep 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:
- Move the engine from the root module to
modules/orchestra_engine. - Make the contract the root module
orchestra, as Kessai does. - Describe both in the documentation.
- Point the project-wide test sweeps at the project root.
- Restore the line endings the dependency rename took from fourteen info files.
- Say the engine, or
orchestra_presentation, where a comment still said the base module. - Give the modeler
orchestra_engineas the workflows' config provider (the export archive named its file after the old prefix), and move the lastorchestra.-prefixed names the rename missed (orchestra_ui.tenants, the examples test's globs, the inbox view's tag order). - 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.)