Skip to main content

Crate lonca_core

Crate lonca_core 

Source
Expand description

Lonca core: deterministic building blocks shared by the daemon, the policy engine and the auditor.

Nothing in this crate talks to the network, calls an AI model or reads the clock. Time enters only as data (time_ms fields) chosen by the daemon.

Re-exports§

pub use changeid::ChangeId;
pub use error::Error;
pub use error::Result;
pub use objects::FileEntry;
pub use objects::FileMap;
pub use objects::FileMode;
pub use objects::GitId;
pub use store::Store;

Modules§

canonical
Canonical serialization and hashing.
changeid
Stable change identifiers.
error
keyed
Keyed directories (#261): directories whose files carry a key in their name that no other file there may have. Flyway’s V12__add_users.sql, Django’s 0012_add_users.py, golang-migrate’s 000012_add_users.up.sql and numbered decision records are such files: two of them with one key conflict in meaning, and Git sees two unrelated paths.
keys
Ed25519 keys for the daemon and for (development) human signers.
objects
The plain data of the object store: ids, file modes and flattened trees. No Git library: a client of the daemon reads and writes these without the store (feature store).
oplog
The operation log: an append-only, hash-chained, signed list of every operation, stored as a chain of Git commits on refs/lonca/oplog so that it travels with git push.
ops
The operation vocabulary. Every state change in a Lonca repository is one of these, recorded (allowed or not) in the operation log.
paths
Repository path validation and the path/symbol pattern language used by capabilities and policy.
store
Git-compatible object store (gitoxide).