Repository navigation
fix(storage): encode semantic routes into portable components - #1188
Conversation
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Advanced Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Warning Billing warning: we have not been able to collect payment for this subscription for more than 72 hours. Please update the payment method or pay any pending invoices in Billing to avoid service interruption. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
This comment has been minimized.
This comment has been minimized.
852f869 to
d5ccd48
Compare
Description
Valid semantic routes such as
CON,AUX, punctuation, trailing dots, and Unicode variants could become filesystem names that fail on another supported host. Encode route components as fixed-length lowercase digests and retain exact UTF-8 names in an authenticated reverse table. Public graph semantics remain unchanged.Closes #976.
Changes
Validation
make pre-push-fast, andmake gate-registry-checkpass. Rebase range-diff confirms all nine feature patches are unchanged atop main's merged list extraction.make pre-pushis not reported green: the feature run stopped linking host-selected Python 3.14. The separately configured main-based run reaches the unchanged storage fixture that explicitly uses this host's tmpfs/tmpand is rejected by native filesystem admission; test(storage): respect native TMPDIR in socket inventory regression #1192 tracks that fixture defect. No admission bypass, mount change, or test skip was used.80220675passed all 99 Bazel targets and non-Windows lanes. At852f8691, the complete Windows lane—including mapped portable round trips—passed. The refreshed exact-head gate remains required before merge.Compatibility and review focus
Mapped layouts require readers supporting versions 3/4; older readers reject them. Existing raw layouts retain explicit legacy handling. Mapping admission is bounded to 64 MiB and 100,000 routes and never normalizes semantic identifiers. Review mapping transactions, retained inventory lifetimes, and legacy private-copy boundaries together: these consumers jointly provide the required end-to-end round trip.