monetize-embed 0.1.3

The thin client a monetized product compiles in: an Ed25519-verified entitlement cache with nanosecond verdicts that keeps answering while the licence server is unreachable. No network, no ledger — the product feeds it signed facts and asks.
Documentation
[package]
name = "monetize-embed"
description = "The thin client a monetized product compiles in: an Ed25519-verified entitlement cache with nanosecond verdicts that keeps answering while the licence server is unreachable. No network, no ledger — the product feeds it signed facts and asks."
# 0.1.0: first publish (2026-09-09), so gunnar's `metered` feature can name a
# VERSION instead of `path = "../../../monetize"`. That path was the last of the
# three sibling checkouts a fresh `git clone && cargo build -p gunnar-cli` needed,
# and it was the worst of them: the path is read at RESOLVE time whether or not
# the optional feature is on, so a workspace without `../monetize` beside it did
# not resolve at all.
version.workspace = true
edition.workspace = true
rust-version.workspace = true
# NOT the workspace value — see `monetize-product`'s note. Public tree, public URL.
repository = "https://gunnar.rs/repo/gunnar/monetize"
license.workspace = true
authors.workspace = true
# Overrides the workspace's `publish = false`. This crate and `monetize-product`
# are the only two that go to crates.io.
publish = true

[dependencies]
# `version` beside the `path`, which is what makes this crate publishable at all:
# cargo drops the `path` from the registry manifest and the requirement is what
# the consumer resolves. Keep them in step — a bumped `monetize-product` needs
# this line bumped with it.
monetize-product = { version = "0.1.0", path = "../monetize-product" }
serde.workspace = true
serde_json.workspace = true
thiserror.workspace = true
ed25519-dalek.workspace = true
# Lock-free swap of the whole fact map: readers pay one atomic load, never a lock.
arc-swap = "1"

[dev-dependencies]
rand.workspace = true