Expand description
What a frontmatter key is to prov — the classification, offered as a question and never applied.
A prov document’s metadata block holds two kinds of thing side by side and
looks the same either way: keys prov itself reads to build the workspace
(contents is an edge, id is identity, prov: is policy) and keys prov
merely carries (mood: rainy). A schema-free editor over that block has no
way to tell them apart, so it draws id and mood as the same row and
offers to let you type into both.
Facets answers which is which. It is built from the resolved workspace
config — the relation vocabulary, the fields declarations, the name of the
stamped updated field — so the answer is this workspace’s, not a list
this crate invented, and a workspace that retracts link_of gets link_of: Carried without anything here knowing it happened.
§Why this only classifies
An application over prov usually separates the two halves in its UI: prov’s own structure goes in a sidebar, an inspector, or a footer, and the user-defined values get the form. That is a good design and it is not this crate’s to make. The facts are general; the arrangement is a product decision, and each frontend’s will differ — a mobile inspector, a terminal band and a settings sheet do not want the same split.
So nothing here hides, demotes, reorders, or read-onlys a row. What it does
is hand a frontend the lists it would need to do any of those:
structural_keys and
managed_keys are shaped to go straight into
flower’s set_demoted and
with_managed — one line for a frontend
that wants diaryx’s separation, and zero for one that wants a flat list.
For the link half of the same question — which documents a relation field
points at, and where each link sits — see crate::links.
Structs§
- Facets
- The classifier: one workspace’s answer to “what is this key?”.
- Field
Facet - A field the workspace declared in
fields.<name>. - Relation
Facet - A relation field, with everything the vocabulary says about it.
Enums§
Constants§
- ATTACHMENT_
KEY - The declared-opacity marker:
truesays “read my payload as bytes, not as a document”, and it wins over what the extension suggests. - CONTENT_
HASH_ KEY - The recorded digest of the payload, maintained by prov’s fixity pass.
- CONTENT_
KEY - A sidecar’s pointer at the opaque payload whose bytes are its body.
- IDENTITY_
KEY - The document’s stable identity.
- MANIFEST_
KEY - A manifest node’s pointer at the store listing the directory it claims.
- POLICY_
KEY - The root’s embedded policy block — prov’s
prov:key, one of the two homes workspace policy lives in. - TITLE_
KEY - The name a nominal (
[[My File]]) reference resolves against.