Skip to main content

harness_lock_core/
lib.rs

1//! Core library for **harness-lock** (`hlock`).
2//!
3//! Implements the manifest, the lockfile, the content-addressed store, task
4//! packs, the deterministic reference provider/harness, the search layer, and
5//! the tuner — the same v0.1 surface as the (now reference) Python
6//! implementation, in Rust. The [`flyte`] backend and the PyO3 Python bindings
7//! live in sibling crates.
8//!
9//! The Python-facing API mirrors [`lock`](tuner::Tuner::tune) and the lockfile
10//! model so the user surface stays stable across the language boundary.
11
12pub mod adapters;
13pub mod error;
14pub mod hash;
15pub mod lockfile;
16pub mod manifest;
17pub mod ops;
18pub mod providers;
19pub mod search;
20pub mod store;
21pub mod tasks;
22pub mod tuner;
23pub mod worker;
24
25#[cfg(feature = "flyte")]
26pub mod flyte;
27
28pub use adapters::HarnessAdapter;
29pub use error::{Error, Result};
30pub use hash::{content_hash, sha256_hex, sha256_text};
31pub use lockfile::Lockfile;
32pub use manifest::Manifest;
33pub use store::Store;
34pub use tuner::Tuner;
35pub use worker::Backend;
36
37/// Schema version of the `harness.lock` lockfile.
38pub const LOCK_VERSION: i64 = 1;
39/// Default output filename for the lockfile.
40pub const LOCKFILE_PATH: &str = "harness.lock";
41/// Default manifest filename.
42pub const MANIFEST_PATH: &str = "harness.toml";