Skip to content

T-Z0KK-co-locate-the-markdown-suite-under-packages-markdown

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

The markdown suite is one control unit, but its members are spread across packages/rust/ and packages/ts/. Moving them into packages/markdown/ makes the suite a folder. Its planning root becomes packages/markdown/docs/planning/ and it needs no members: list. The folder sits under packages/ because it is a library suite. Moving code is optional. The unit exists by declaration; the move only changes where it lives.

Moon idPath today
markdown-utilpackages/rust/markdown-util
yaml-splicepackages/rust/yaml-splice
yaml-splice-wasmpackages/rust/yaml-splice-wasm
wikilinkpackages/rust/wikilink
vault-fspackages/rust/vault-fs
vault-transformpackages/rust/vault-transform
markdown-util-tspackages/ts/markdown-util
yaml-splice-tspackages/ts/yaml-splice
obsidian-mdpackages/ts/obsidian-md
obsidian-editorpackages/ts/obsidian-editor
obsidian-editor-demopackages/ts/obsidian-editor/demo
markdown-uipackages/ts/markdown-ui
markdown-ui-playgroundpackages/ts/markdown-ui/playground
obsidian-vaultpackages/ts/obsidian-vault
obsidian-basespackages/ts/obsidian-bases
vault-graph-corepackages/ts/vault-graph-core
json-canvas-corepackages/ts/json-canvas-core
json-canvas-vuepackages/ts/json-canvas-vue
json-canvas-demopackages/ts/json-canvas-vue/demo

Each member moves under packages/markdown/ and keeps its moon project id. Rust and TS twins share names, so the suite folder splits by language (for example packages/markdown/rust/<name> and packages/markdown/ts/<name>). The exact layout is settled at the start of the task. 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.

  • 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/markdown/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.
  • 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


← Back to Tasks