Expand description
memstead schema validate <path> — load a schema package from disk
and report whether it conforms to the engine’s schema rules.
Validation runs the same loader the engine uses at boot
(memstead_schema::loader::load_schema_from_dir), so a package that
validates here is one the engine will accept. Parse failures carry
the YAML layer’s line/column in their message; structural failures
(undeclared relationship vocabulary, type/file mismatch, missing
_default weight, …) carry the engine’s typed diagnostic.
memstead schema install <name|path> copies a schema package into
the current workspace’s local schema storage so a mem can pin it.
It resolves the source — a built-in name (planning, planning@0.1.0)
or a path to a package directory — validates it, and writes the
package (including any mem-template.json) under the folder
backend’s fixed <workspace>/.memstead/schemas/<name>@<version>/
location. Installing a built-in forks it into local storage, which
shadows the built-in per the resolution order — the customization
entry point. Idempotent: re-running reproduces the same files.
Git-branch (mem-repo) workspaces are a destination too: install
routes through the engine’s below-boot repair surface
(memstead_git_branch::repair::install_schema_below_boot), which
runs the same validation gate as the booted Engine::install_schema
and seals the package onto the __MEMSTEAD:schemas/ ref.
validate is flavour-agnostic and touches no workspace. install
never boots the workspace on either flavour — it is a named remedy
for boot-blocking states (repair-below-boot rule), so it operates on
configuration and schema storage only: the folder flavour writes
.memstead/schemas/ directly, the mem-repo flavour writes the
engine-owned __MEMSTEAD ref through the engine’s own repair
surface.