open-standards/jouleclaw/jouleclaw-rs/crates/jouleclaw-memory/Cargo.toml
Transaction Science aba9db93ac
Some checks failed
repository checks / lockfiles, advisories, tests in CI, workflow hygiene, spec and section references, public text (push) Has been cancelled
jouleclaw public surface must stay documented / Public-surface audit (jouleclaw-rs) (push) Has been cancelled
jouleclaw: a notebook that rests on the person's words; impersonal skills
jouleclaw-memory:📓 a note is written only with a citation into
words the person signed (Ed25519 under the notebook owner's key) and a
span inside them, so a page, an email or a tool's output cannot become a
note whatever it says. Recall returns the quote with the note.
Maintenance archives a note past its validity or superseded by a newer
note about the same thing, with the reason, and deletes nothing; an
archived note is readable and restorable and does not crowd live ones
out of the top k. Every write, archive and restore is a hash-chained log
entry; an edited or cut history does not verify. SPEC §23.

jouleclaw-skill::personal: finds emails, phone numbers, Luhn-valid card
numbers, mod-97-valid IBANs, IPv4 addresses, credential-shaped tokens
and the person's contacts' names, by shape and deterministically, and
leaves what only looks personal (a failed Luhn, a date, a version, a
name inside a word). Impersonal wraps an inducer and refuses a skill
whose query class or answer holds one: a skill that answers with a
placeholder is wrong where it is used. redact() names what it removed.
SPEC §12.1.

Falsified, each turns a test red: unsigned words accepted, maintenance
that deletes, an unchained log, archived notes crowding recall, no Luhn
check, a personal skill learned, and the answer left unchecked.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-12 03:56:53 -05:00

16 lines
621 B
TOML

[package]
name = "jouleclaw-memory"
version.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
authors.workspace = true
description = "JouleClaw agent memory layer — CoALA-typed (working/episodic/semantic/procedural), content-addressed, signed-receipt-ready facts, with deterministic BM25 reference recall."
[dependencies]
serde = { workspace = true }
serde_json = { workspace = true }
blake3 = { workspace = true }
thiserror = { workspace = true }
# The notebook verifies the person's signed words a note cites (notebook.rs).
ed25519-dalek = { workspace = true }