[package] name = "jouleclaw-citation-whitelist" version.workspace = true edition.workspace = true license.workspace = true repository.workspace = true authors.workspace = true description = "Citation-at-storage-boundary primitive for JouleClaw. A typed allow-list of source ids the runtime enforces BEFORE writing any cited output to durable storage — fabricated citations are dropped at the boundary, not post-hoc filtered. WhitelistedStore wraps any sink store; the conservation primitive lifted from Symdue's claim. Pairs with the worst-counter provenance rule + JCR-1 receipts: every accepted output carries a citation_allowed_set and the receipt seals which sources contributed. Ingested as the canonical conservation primitive for retrieval-grounded agent outputs." [dependencies] serde = { workspace = true } serde_json = { workspace = true } thiserror = { workspace = true } blake3 = { workspace = true }