prov 0.3.0

A self-describing plaintext workspace: structure lives in documents' own embedded metadata.
docs.rs failed to build prov-0.3.0
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.

title: prov author: adammharris created: 2026-07-06 contents:


prov

CI crates.io docs.rs license

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 says what it is: provPlaintext Records, Organized & Verifiable — and, not by accident, the usual short form of provenance. 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.

Layout

  • prov/ — the library. Documents, relations, identity, and the workspace seam.
  • prov-cli/ — a thin command-line companion (the installed binary is prov).

Filesystem

prov is generic over the small async prov::Storage trait, which mirrors the slice of std::fs the scan/traverse/mutate engine needs. Implement it over std::fs, tokio::fs, or a browser filesystem (OPFS/IndexedDB) — the workspace never learns which.

Status

Works for simple workspaces.

Working toward 1.0 now that Twig (Zig dependency) has reached 1.0.

License

Licensed under either of

at your option.

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.