Skip to main content

Module facets

Module facets 

Source
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?”.
FieldFacet
A field the workspace declared in fields.<name>.
RelationFacet
A relation field, with everything the vocabulary says about it.

Enums§

Facet
What a frontmatter key is to prov.
Payload
Which half of the opaque-payload axis a key is.

Constants§

ATTACHMENT_KEY
The declared-opacity marker: true says “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.