open-standards/joule-code/joule-code-rs/crates/joule-code-reviewer/Cargo.toml
Transaction Science 4132daa233 joule-review: persistent per-role identities replace the fixed demo seeds
The reviewer and semantic-tier principals were fixed demo keys ([0xAE], [0x5e]).
They are now persistent joule-code-identity keyfiles: the structural reviewer
loads/creates .joule/reviewer.key (or JOULE_REVIEWER_IDENTITY), the semantic
tier .joule/semantic-reviewer.key (or JOULE_REVIEW_SEMANTIC_IDENTITY). Each is
a distinct, traced agent principal that stays the same across runs — the same
reviewer signs across sessions, attributable by its did:key, rather than an
anonymous per-run seed.

Separation of duties is unchanged and now identity-backed: author, structural
reviewer, and semantic reviewer are three distinct persistent principals; an
op authored by the reviewer's own identity is still skipped (self-review). The
self-review integration test now exercises the real path — write a reviewer
keyfile, author an op as that principal, confirm the binary skips it.

(joule-code-identity needs ed25519-dalek's rand_core feature for key
generation; enabled on that crate.) 17 tests; clippy clean.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
2026-06-11 19:01:45 -04:00

22 lines
589 B
TOML

[package]
name = "joule-code-reviewer"
version.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
rust-version.workspace = true
[dependencies]
joule-code-schema = { workspace = true }
joule-code-cargo = { workspace = true }
joule-code-spec = { workspace = true }
joule-code-review = { workspace = true }
joule-code-identity = { workspace = true }
ed25519-dalek = { workspace = true }
thiserror = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
[[bin]]
name = "joule-review"
path = "src/bin/joule-review.rs"