Atomic cached state for one active directory workspace.
The root authorizes recursive project behavior, files are always relative to
that root, and rebuilding? describes discovery for that same root.
Operational worker, monitor, and timer state remains owned by Minga.Project.
Summary
Types
A monotonic identity assigned to one explicit workspace activation.
A coherent directory workspace and its cached inventory state.
Functions
Installs a directory root with a fresh activation identity and an empty inventory.
Marks discovery as running for this workspace.
Installs one completed workspace-relative inventory atomically.
Clears cached inventory before discovery starts.
Marks discovery as stopped while retaining the current cached inventory.
Types
@type activation_id() :: pos_integer()
A monotonic identity assigned to one explicit workspace activation.
@type t() :: %Minga.Project.WorkspaceSnapshot{ activation_id: activation_id(), files: [String.t()], rebuilding?: boolean(), root: Minga.Project.Root.t() }
A coherent directory workspace and its cached inventory state.
Functions
@spec activate(Minga.Project.Root.t()) :: t()
Installs a directory root with a fresh activation identity and an empty inventory.
Marks discovery as running for this workspace.
Installs one completed workspace-relative inventory atomically.
Clears cached inventory before discovery starts.
Marks discovery as stopped while retaining the current cached inventory.