Skip to content

T-SKMB-co-locate-the-engine-suite-under-packages-engine

State: planning/proposed · Impact: medium · Complexity: medium

The engine suite is one control unit, but its members are spread across packages/rust/ and packages/ts/. Moving them into packages/engine/ makes the suite a folder. Its planning root becomes packages/engine/docs/planning/ and it needs no members: list. The folder sits under packages/ because Ontological consumes Foreman, and D-0001’s tier rule puts what one solution consumes from another in packages/ (D-XCXA-module-graph). Moving code is optional. The unit exists by declaration; the move only changes where it lives.

Moon idPath today
foremanpackages/rust/foreman
graph-schedulerpackages/rust/graph-scheduler
intersectpackages/rust/intersect
intersect-tspackages/ts/intersect
intersect-docspackages/ts/intersect/docs-site
flowlinepackages/ts/flowline
flowline-docspackages/ts/flowline/docs-site

Each member moves under packages/engine/ and keeps its moon project id. Rust and TS twins share names, so the suite folder splits by language: packages/engine/rust/<name> and packages/engine/ts/<name>. The move updates every moon.yml, the globs and sources in .moon/workspace.yml, the root Cargo.toml members, the package.json workspaces, and every import path, tsconfig path, and path dependency that names an old location. Publishing config is unchanged: package names, registries, and mirror targets stay as they are. The planning root sits at the suite folder, above its packages, so neither a package snapshot nor a crate archive picks it up. The move waits until the five foreman PRs merge (T-FW23-rebase-and-merge-the-foreman-implementation-stack-bottom-up), so it does not rebase them.

  • AC-1: moon project-graph lists the same project ids and edges as before the move; only paths differ.
  • AC-2: All builds and tests for the moved projects and their dependents are green.
  • AC-3: Published package and crate names are unchanged, and no mirror or crate archive contains docs/planning/.
  • AC-4: packages/engine/docs/planning/ exists and is registered in planning_roots: in the root sdlc.yaml, with no members: list.
  • AC-5: docs/LIBRARIES.md and the comments in .moon/workspace.yml name the new paths.
  • AC-6: The engine location statements in D-VSLI-distributed-work-runner-architecture and PR-FRMN-foreman, which say packages/rust/foreman, name the new paths.
  • API changes to any moved package.
  • Renumbering entity ids, or moving entities into the new root. That is a separate triage.

T-N3RW-derive-the-structural-module-graph-from-existing-manifests, T-FW23-rebase-and-merge-the-foreman-implementation-stack-bottom-up


← Back to Tasks