Repository navigation
LayerKeySort v3.0.0-preview.3
Pre-release
Pre-release
LayerKeySort v3.0.0-preview.3
Preview.3 is an experimental V3 contract and architecture stabilization snapshot. Stable v2.0.0 remains the recommended release for normal use.
Purpose and changes
- Clarifies the separation between manual-coordinate
LksTreeand comparator-managedLksOrderedTree. - Documents caller ownership of items and comparator context, borrowed node/Path lifetimes, invalidation after actual mutation, and the remove–update–reinsert procedure for comparator-relevant item changes.
- Keeps physical AVL navigation an ephemeral implementation view rather than a logical Path hierarchy contract.
- Corrects the V3 complexity and relabel documentation, including the possibility of a full-range coordinate update.
- Extends private benchmark diagnostics with a fixed interior hotspot workload and final Path/LK1 footprint records. These diagnostics do not establish a timing or asymptotic guarantee.
The public V3 header has 59 functions. Preview.3 does not redesign the ordering algorithm or change Path comparison, display text, or LK1 v1 bytes.
Validation
The implementation commit 8db22a831506f70163c419bc6d931063df884631 and the publication-state commit d5b53a3875a6e527fc5490977acc2ea55afa38f5 each passed the repository's GitHub Actions C17 build/test workflow. The latter run passed Windows MSVC, Ubuntu GCC, Ubuntu Clang, Ubuntu Clang with sanitizers, and macOS AppleClang: CI run.
Known limitations
- Managed insertion may relabel a large region, potentially every resident Path; a complete insertion has no claimed worst-case
O(log n)or formal amortized bound. - Path depth, encoded size, memory use, and single-operation latency depend on workload. The new footprint diagnostics are observations, not fixed limits.
- Caller items and comparator context must remain valid, and comparator-relevant resident item fields must not change in place.
- This Preview is not a stable V3 compatibility or production-readiness declaration. Generated Path values and private policy may change.
Tag target: d5b53a3875a6e527fc5490977acc2ea55afa38f5.