docs(rust): refresh migration boundary

Update the Rust migration map after the latest compression and CLI seams
moved. The fileio summary now distinguishes Rust-owned zstd stream
orchestration from C-owned codec, diagnostics, and adaptive-policy callbacks.
The remaining-boundary summary records that dictionary dispatch and the CLI
zstd compression loop have moved, while CDict lifecycle, private dictionary
content loading, and private compressor operations remain in C.

Test Plan:
- `git diff --cached --check` -- passed.
- Documentation-only change; no additional build or test run was needed.

GPG signing was attempted but unavailable because no pinentry process was
available; this repository's preceding commits are unsigned, so this commit
uses the explicit unsigned fallback.
This commit is contained in:
2026-07-19 08:50:29 +02:00
parent a874ab17fd
commit 0492e7f7ec
+9 -7
View File
@@ -107,10 +107,11 @@ zstd ABI:
by the separate `cli/` static-library package only for program archives,
so library builds do not acquire program-only dependencies. The C
`fileio` layer retains the format-specific codec callbacks, private
asynchronous-pool adapters, and metadata, while Rust owns the mixed-format
probe/dispatch loop, optional-format decompression loops, and decompression
result policy/final accounting. Rust already owns the file preference
policy, filename decisions,
asynchronous-pool adapters, metadata, zstd codec/error mapping, and
adaptive compression policy, while Rust owns the mixed-format
probe/dispatch loop, zstd stream-compression I/O loop, optional-format
decompression loops, and decompression result policy/final accounting.
Rust already owns the file preference policy, filename decisions,
source/destination opening, dictionary buffers, asynchronous I/O pools,
and pass-through copy leaf.
- `timefn` provides the monotonic nanosecond clock behind `UTIL_time_t`,
@@ -122,12 +123,13 @@ zstd ABI:
feature, because the parser layer requires the C `fileio` backend that
tests do not compile.
Dictionary ingestion and CDict lifecycle, the CLI zstd compression leaf, and
private CCtx, matchfinder, workspace, and codec callbacks remain in C. The
Dictionary-ingestion dispatch, the CLI zstd compression stream loop, the
single-threaded buffered/stable stream state machine, MT outer scheduling and
flush policy, sequence-store and block policy, external-sequence/literals
block loop, optional-format decompression loops, block decoder wrappers, and
decompression result policy now run in Rust. The remaining C paths must move
decompression result policy now run in Rust. CDict lifecycle, the private
dictionary-content loader, private CCtx/matchfinder/workspace operations, and
codec/adaptive-policy callbacks remain in C. The remaining C paths must move
before the rewrite is complete. Keeping that boundary explicit prevents a
passing hybrid build from being mistaken for the final all-Rust result.