prov 0.2.3

A self-describing plaintext workspace: structure lives in documents' own embedded metadata.
docs.rs failed to build prov-0.2.3
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.

prov

A self-describing plaintext workspace: a set of documents whose structure lives in the documents' own embedded metadata (frontmatter), not in the filesystem layout or an app-private sidecar folder.

The name is the point. A prov is the note in which a book describes its own making — the type, the paper, the press. A prov workspace is one you can hand to any tool and it explains itself: follow the links in the metadata and the whole structure unfolds, with a distinguished root that describes the whole.

The shape of the abstraction

  • Documents are plaintext files with an embedded metadata block ([document::Document]).
  • Relations are named links declared in that metadata ([relation::RelationSet]). Which fields are links is configurable (contents/part_of, links, or your own vocabulary); the mechanism is not. Exactly one relation may be marked spanning — the single-parent tree that gives the workspace its self-describing discovery spine. Every other relation may be many-to-many, so the tree is a backbone, never a ceiling.
  • Identity is a strictly-additive layer ([identity], [index]). The graph, traversal, and (eventually) mutation operate on paths and never require an ID. Turn identity off and it compiles out; turn it on and IDs are minted only when something durably refers to a document.

Status

Early extraction from diaryx_core. The pure layers — embedded-metadata parsing ([meta]), document splitting, and relation extraction — are real and tested. The filesystem-driven scan/traversal/mutation engine ports next; its seams ([workspace::Workspace], [identity::IdentityPolicy], [index::IndexStore]) are staked out here so nothing diaryx-specific leaks into the eventual public API.