prov-fixity 0.7.0

Content fixity digests, policy, and a device-local validation cache.
Documentation

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


prov (Plaintext Records, Organized and Verifiable)

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.

Layout

  • prov/ — the library. Documents, relations, identity, and the workspace seam.
  • prov-cli/ — a thin command-line companion (the installed binary is prov).
  • xtask/ — CI, as a program. Each job is cargo xtask <job>.

Development

cargo xtask ci runs everything CI runs, in the order CI runs it; cargo xtask on its own lists the individual jobs. The workflow does nothing but ask cargo xtask ci-matrix what the jobs are and run each one, so changing CI means editing xtask/src/main.rs and nothing else.

Releases are one command: cargo xtask release <patch|minor|major|x.y.z> bumps the workspace version, cuts the changelog's unreleased region into a released section, commits and tags — and pushes only when given --push, because the push is what publishes eleven crates to crates.io. See Releasing.

Building needs Zig 0.16 on PATH — prov's fig and twig-doc dependencies are Zig-backed, and their build scripts run zig build. nix develop provides it, as does the flake.nix dev shell.

Status

Works for simple workspaces. Active work is currently taking place incorporating prov into Diaryx.

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.