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 capture;
14pub mod contract;
15pub mod launch;
16pub mod localize;
17pub mod error;
18pub mod hash;
19pub mod lockfile;
20pub mod manifest;
21pub mod ops;
22pub mod profiles;
23pub mod providers;
24pub mod search;
25pub mod store;
26pub mod sync;
27pub mod tasks;
28pub mod tuner;
29pub mod worker;
30
31#[cfg(feature = "flyte")]
32pub mod flyte;
33
34pub use adapters::HarnessAdapter;
35pub use error::{Error, Result};
36pub use hash::{content_hash, sha256_hex, sha256_text};
37pub use lockfile::Lockfile;
38pub use manifest::Manifest;
39pub use profiles::Registry;
40pub use store::Store;
41pub use tuner::Tuner;
42pub use worker::Backend;
43
44/// Schema version of the `harness.lock` lockfile.
45pub const LOCK_VERSION: i64 = 1;
46/// Default output filename for the lockfile.
47pub const LOCKFILE_PATH: &str = "harness.lock";
48/// Default manifest filename.
49pub const MANIFEST_PATH: &str = "harness.toml";