[package] name = "jouleclaw-bitemporal" version.workspace = true edition.workspace = true license.workspace = true repository.workspace = true authors.workspace = true description = "Bitemporal claim primitive for JouleClaw — a claim that carries both VALID-TIME (the interval during which the claim asserts itself to be true in the world) and TRANSACTION-TIME (the instant the claim entered the store). Closes the absent-time gap in the 2026 knowledge-management stack (none of Notion / Obsidian / NotebookLM / Karpathy's LLM-Wiki / mem0 / LangMem / Cognee / GraphRAG carry valid-time; only Zep's Graphiti does). Generic primitive: `BitemporalClaim` + `as_of(reference_time)` + supersession + lineage. Composes into jouleclaw-memory (Fact gains canonical bitemporal envelope) and jouleclaw-fresh (RetrievedClaim gains valid-window). The third reference-time axis is carried on the QUERY (as an as-of parameter), recorded on the receipt — so the resolution is stamped with the temporal frame the consumer used." [dependencies] serde = { workspace = true } serde_json = { workspace = true } thiserror = { workspace = true } blake3 = { workspace = true } chrono = { workspace = true, features = ["serde"] }