Skip to main content

Module schema

Module schema 

Source
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.

Structs§

Args
InstallArgs
NewArgs
ValidateArgs

Enums§

SchemaCommand

Functions§

run