1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
// Copyright Two Neutron Stars Incorporated and contributors
// SPDX-License-Identifier: BlueOak-1.0.0
//! Hashing utilities for Laburnum.
//!
//! This module provides two distinct hashing mechanisms with different
//! guarantees:
//!
//! ## Ident Identities ([`ident`])
//!
//! - **Encoding**: 128-bit tagged value — identifiers ≤ 15 bytes inline
//! verbatim (exact), longer ones BLAKE3 truncated to 127 bits (see ADR0012)
//! - **Portability**: compared over the canonical 16 bytes, stable across
//! architectures
//! - **Const Support**: short idents (`new_const`) are compile-time; the BLAKE3
//! path is runtime-only
//! - **Use Cases**: identifiers, partition keys, HashMap/HashSet keys, symbols
//!
//! ## Content Hashes ([`content`])
//!
//! - **Algorithm**: BLAKE3 (truncated to 128-bit)
//! - **Portability**: Runtime-only, no cross-build guarantees
//! - **Use Cases**: Content-addressed storage, chunk IDs, cache keys
pub use ;