Skip to main content

parse_workspace_settings

Function parse_workspace_settings 

Source
pub fn parse_workspace_settings(
    workspace_root: &Path,
) -> Result<WorkspaceSettings, StoreError>
Expand description

Parse the operator-edited .memstead/workspace.toml at workspace_root into a fresh WorkspaceSettings. Exposed so MCP- and CLI-driven policy-mutation tools (the workspace_config_edit::{grant,revoke}_* family) can refresh the engine’s in-memory settings after writing to disk — closing the stale-cache footgun where the next call into the engine after a successful policy mutation still saw the pre-mutation policy.

Reads only workspace.toml — the engine-managed mounts.json is untouched. The function pays one file-read; the alternative (threading projections through the policy-mutation functions without an engine handle) was rejected for the coupling cost.

Errors mirror FileWorkspaceStore::load’s subset that touches workspace.toml only: NotInitialised (no .memstead/ dir), Io / Parse (file read or TOML parse failure), FormatMismatch (unsupported format field).