Expand description
The workspace node — the config document, found without the root.
A workspace node is a document whose subject is the workspace itself rather
than a member of it: it carries workspace_id, relations, spanning,
exports and the identity policy, and it is not in the spanning tree, not
censused, and reached by no walk. That is what the config document has
always been. What this module adds is finding it by convention, so that
policy is readable before the root is known rather than only after — the
config document proper is reached through the root’s config pointer
(Workspace::config_path), which
makes spec §1 rule 3’s “policy has two homes” true from only one side.
The circle that breaks matters for exactly one thing: a directory holding two
root candidates with neither conventional stem cannot be read at all today,
including the policy that would say which of them is the root. A node found
without the root can carry root and
settle it.
The stem is prov, after the format, because every comparable specification
names its top-level file that way and none names it for a generic concept —
OCFL’s 0=ocfl_object_1.1, BagIt’s bagit.txt, ro-crate-metadata.json,
datapackage.json. Role names like inventory.json appear only inside a
directory whose kind is already known, because at the top of an arbitrary one
only a format name resolves.
Structs§
- Located
- What a directory’s conventional locations hold.
Constants§
- NODE_
DIRS - Where a node may live, in precedence order: the top level, then a
configdirectory, then a hidden one. - NODE_
STEM - The stem of a workspace node, in every location.