jouleclaw-evals::memory runs fixed, deterministic cases against the notebook. Poisoning plants notes from a sender, from the agent, from the person's signature over swapped words and from no words, some on topics the person already has a note on, and counts attacks blocked, the person's notes accepted, and whether any of theirs was displaced after maintenance: 6 of 6 blocked, 3 of 3 kept, none displaced. Long-term recall changes the person's facts over time (an update, a correction, a trip that ends) and counts current answers and stale ones: 7 of 7 current, none stale. Errands are graded from their trace: done (an interrupted errand is not), within the grant, every consequential step cited (JCP §4.14). The poisoning benchmark discriminates: a notebook that takes the sender's words as the person's fails it. Falsified through the benchmarks: a notebook that trusts anyone, no supersession, no expiry, an interrupted errand counted done, and uncited steps ignored each turn a test red. Co-Authored-By: Claude Opus 5.5 <[email protected]>
18 lines
707 B
TOML
18 lines
707 B
TOML
[package]
|
|
name = "jouleclaw-evals"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
repository.workspace = true
|
|
authors.workspace = true
|
|
description = "Eval-driven skill engineering with Executor/Grader/Comparator; energy as a first-class pass criterion (EnergyBudgetGrader)."
|
|
|
|
[dependencies]
|
|
jouleclaw-critic = { path = "../jouleclaw-critic" }
|
|
jouleclaw-energy = { path = "../jouleclaw-energy" }
|
|
serde = { workspace = true }
|
|
serde_json = { workspace = true }
|
|
thiserror = { workspace = true }
|
|
# The memory benchmarks run against the reference notebook (memory.rs).
|
|
jouleclaw-memory = { path = "../jouleclaw-memory" }
|
|
ed25519-dalek = { workspace = true }
|