Repository navigation
LayerKeySort v2.0.0-preview.5
Pre-releaseLayerKeySort v2.0.0-preview.5
v2.0.0-preview.5 is a public development snapshot focused on usability, integration, endurance validation, platform coverage, and preparation for a V2 public-contract freeze. It is a Preview, not production-ready stable 2.0.
What changed
- Added a compilable dynamic layer-list example. Caller-owned application IDs remain distinct from mutable Path ordering coordinates. The example places an item between others, rekeys an existing item, removes an item, and round-trips an LK1 key.
- Added README guidance on when to use LayerKeySort and when ordinary sorting, simpler external rank strings, or a different ordering model may be more appropriate.
- Added a C17 integration guide covering CMake add_subdirectory, FetchContent pinned to this release tag, and direct production-source integration.
- Added a deterministic mixed-operation mutation soak. CI runs 30,000 operations in every configuration; a local 500,000-operation run passed. The soak checks a flat reference model, Path associations, AVL balance, display/LK1 round trips, remove/rekey behavior, and diagnostic allocation cleanup.
- Added macOS AppleClang validation alongside Windows MSVC, Ubuntu GCC, Ubuntu Clang, and Ubuntu Clang with sanitizers.
- Completed a function-by-function public API documentation audit. All 52 public functions have detailed reference entries. No public function or status was added, removed, or renamed. LK1 version 1 and its golden vectors are unchanged.
The final main commit passed all five GitHub Actions configurations, each with CTest 5/5, including the mutation soak and benchmark smoke tests. Both examples ran successfully. GitHub Pages deployment also succeeded.
Current limits
Preview.5 does not claim production readiness, worst-case O(log n) complete comparator-driven insertion, or a formal amortized insertion bound. Full Tree rebuild remains a failure-atomic fallback with a real cost. LK1 persists one sortable ordering coordinate; it is not permanent item identity, whole-Tree serialization, or distributed/CRDT convergence. Generated Paths and Preview-level policy may still change before stable 2.0.
This release does not change the Preview.4 production algorithms or the captured benchmark CSV values. The benchmark report remains workload-specific evidence rather than a universal speed claim.
Release commit: c1476eb