refactor: rename obikpartitionner crate to obikpartition
Update Cargo manifests, dependency paths, and Rust imports across the workspace to reflect the `obikpartitionner` to `obikpartition` rename. Synchronize architecture and implementation documentation with the new module structure. Fix minor syntax issues in test assertions to ensure compilation compatibility. No behavioral or API changes are introduced.
This commit is contained in:
@@ -16,7 +16,7 @@ explicitly, since two of the names below are misleading.
|
||||
but it holds the *whole* multi-partition structure below — the name
|
||||
suggests "one partition", the value is all of them.
|
||||
- **Partition, the collection (not one partition)** =
|
||||
`obikpartitionner::KmerPartition`. Despite the singular name, this owns
|
||||
`obikpartition::KmerPartition`. Despite the singular name, this owns
|
||||
*every* partition of the index: `root_path`, `n_partitions`, and
|
||||
per-partition accessors that all take an explicit index `i`
|
||||
(`partition_dir(i)`, `index_dir(i)`, `layer_dir(i, l)`,
|
||||
@@ -95,7 +95,7 @@ auto-detection" turns up three unrelated implementations:
|
||||
|---|---|---|---|
|
||||
| `Layer<D>` | `obilayeredmap` | one layer, `D` fixed at compile time | held alive by whoever owns the `Layer`, no policy of its own |
|
||||
| `Mat` | `obikphylo::siblings::cache` | one layer, format resolved per instance from an enum of 3 `Layer<D>` variants | yes, via `PartitionCache` |
|
||||
| `QueryLayer` | `obikpartitionner::query_layer` | one layer, `(MphfLayer, PersistentBitMatrix\|PersistentCompactIntMatrix)` pair, bypasses `Layer<D>` entirely | **no** — opened fresh inside `query_partition_with` on every call |
|
||||
| `QueryLayer` | `obikpartition::query_layer` | one layer, `(MphfLayer, PersistentBitMatrix\|PersistentCompactIntMatrix)` pair, bypasses `Layer<D>` entirely | **no** — opened fresh inside `query_partition_with` on every call |
|
||||
|
||||
`query_partition_with` is `obikmer query`'s normal query path — the one
|
||||
most exposed to repeated cross-partition lookups — and it is the one with
|
||||
@@ -164,7 +164,7 @@ Established in discussion, not yet coded:
|
||||
`open_data`/`layer_dir` — see git history around 2026-08-20). One
|
||||
`LayeredMap<D>` (or its heterogeneous-`D` successor) = one partition.
|
||||
- Nobody currently owns "the collection of partitions" as reusable state.
|
||||
`obikpartitionner::KmerPartition` is the closest candidate — it already
|
||||
`obikpartition::KmerPartition` is the closest candidate — it already
|
||||
owns `n_partitions()`/`part_dir(i)` — but today it is a pure
|
||||
config/path resolver, not a state holder: `dereplicate`, `count_kmer`,
|
||||
`obikindex`'s `distance.rs`/`stats.rs`, and
|
||||
@@ -182,9 +182,9 @@ Established in discussion, not yet coded:
|
||||
2. A cache spanning multiple partitions, keeping (2)'s layer type open per
|
||||
partition per layer, for the whole lifetime of a long-running command —
|
||||
generalising `PartitionCache` minus its sibling-specific parts
|
||||
(`fast_mode`, `find_presence_batch`) — living in `obikpartitionner`
|
||||
(`fast_mode`, `find_presence_batch`) — living in `obikpartition`
|
||||
(owner of the partition dimension) and built on top of (1).
|
||||
3. `obikpartitionner::query_partition_with` — the normal query path,
|
||||
3. `obikpartition::query_partition_with` — the normal query path,
|
||||
currently uncached — becomes a consumer of (2), not just
|
||||
`obikphylo::PartitionCache`.
|
||||
|
||||
@@ -198,7 +198,7 @@ real number behind it for this codebase's scale).
|
||||
|
||||
Groundwork for (1)/(2), landed ahead of the design itself:
|
||||
|
||||
- `KmerPartition` (`obikpartitionner`) gained `partition_dir`/`index_dir`/
|
||||
- `KmerPartition` (`obikpartition`) gained `partition_dir`/`index_dir`/
|
||||
`layer_dir` as the single source of truth for a partition's on-disk
|
||||
layout, replacing per-module duplicated `const INDEX_SUBDIR: &str =
|
||||
"index"` (7 copies) and ad hoc path joins — including one found
|
||||
@@ -266,7 +266,7 @@ storage decisions, now a *third* copy of the same logic to keep in sync)
|
||||
`Mat::open` already reads the result back in the sibling-annex path.
|
||||
Stale comment, not corrected.
|
||||
- **Retracted (2026-08-20)**: an earlier pass through this doc claimed
|
||||
`obikpartitionner::query_layer::QueryLayer::open` had no sparse-format
|
||||
`obikpartition::query_layer::QueryLayer::open` had no sparse-format
|
||||
detection and would silently corrupt reads on a `pack --sparse`d layer.
|
||||
False — `PersistentBitMatrix` (`obicompactvec::bitmatrix::persistent`)
|
||||
is a 4-way enum (`Columnar`/`Packed`/`Sparse`/`Implicit`), not 3-way as
|
||||
|
||||
Reference in New Issue
Block a user