Repository navigation
Conversation
Aionw
requested review from
Ann-1024,
ShangmingCai,
luketong777,
stmatengss,
ykwd and
zxpdemonio
as code owners
August 24, 2026 08:40
15 of 31 tasks
Conflict resolution: - .github/CODEOWNERS: kept all migrated-module owners from main and appended the dataproto_catalog.py and python/tests/integration/dataproto/ entries after the SSD entries. - .github/labeler.yml: Installation keeps main's globs plus the two dataproto entries; the Tests-specific dataproto glob is dropped because main's 'python/tests/**/*' already covers it. - scripts/build_wheel.sh: appended dataproto_catalog.py to main's MIGRATED_PYTHON_MODULES list. - scripts/test_installation.sh: kept main's services/unit/ssd copies and test runs; the dataproto copy follows the ssd copy and its pytest step is kept. - python/tests/packaging/test_project.py: kept main's administration extra checks and per-module tests, appended the structured extra assertion and test_dataproto_catalog_has_one_authoritative_source, and dropped dataproto_catalog.py from the legacy-tree module list in test_scikit_build_consumes_unified_python_sources since it now lives under python/mooncake. - python/tests/packaging/test_installed_wheel.py: merged the dataproto import and assertions into main's expanded smoke script. - python/tests/integration/dataproto/test_dataproto_catalog.py: carries all of main's kvcache-ai#3374 tests with merged imports; the lazy-import test now puts python/ before mooncake-wheel/ on PYTHONPATH, matching main's sibling tests, because the legacy package __init__ imports the migrated buffer_pool module. - python/mooncake/dataproto_catalog.py carries main's kvcache-ai#3374 changes via rename detection. Both moved files are ruff-formatted: kvcache-ai#3374 left a few lines that ruff format rewrites, and after the move the changed-lines format check treats every line of these files as changed.
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Implement the DataProto catalog increment of Phase 2 from #3534 by moving its tracked Python source and directly owned tests into the unified root Python project.
mooncake.dataproto_catalogimplementation topython/mooncake;python/tests/integration/dataproto;mooncake.dataproto_catalogpublic import;No documentation changes are needed because this source-layout migration does not change the public API or command behavior.
Overlap
mainon 2026-08-25, after this PR was opened, and added DataProto catalog lifecycle behavior to the legacy source and test. The 2026-09-28 merge ofmain(d9152a4) carries [Wheel] Add DataProto catalog lifecycle management #3374's implementation topython/mooncake/dataproto_catalog.pythrough rename detection and merges its tests intopython/tests/integration/dataproto/test_dataproto_catalog.py. This PR adds no catalog feature work of its own.structured_object_store.py, partial reads, or any of [Wheel] Support DataProto matrix partial reads #3567's feature work;structured_object_store.pyis migrated separately in [Wheel] Migrate structured object storage to unified package #3633.ruff formatto the legacydataproto_catalog.pyand its test. This PR formats the same three statements in the moved files, so whichever lands second drops those hunks.main; this branch includes them through itsmainsyncs, most recently the 2026-09-28 merge ofmain(d9152a4). [Reshard] Migrate to unified Python package #3585 (Reshard) is still open and remains out of scope.mooncake-wheelpackage layout #3425 is the older, narrower package-layout RFC already discussed by [RFC]: Unify Mooncake's Python package, build, and release architecture #3534; this PR follows the Phase 2 layout defined in [RFC]: Unify Mooncake's Python package, build, and release architecture #3534.Module
mooncake-transfer-engine)mooncake-store)mooncake-reshard)mooncake-ep)mooncake-pg)mooncake-integration)mooncake-p2p-store)mooncake-wheel)mooncake-common)mooncake-rl)Type of Change
How Has This Been Tested?
Original submission (before merging
mainon 2026-09-28; superseded by "After mergingmain" below). Since #3586 movedbuffer_pool.py,python/must come beforemooncake-wheel/onPYTHONPATH:Test commands:
Test results:
twine checkpasses; the wheel manifest contains exactly onemooncake/dataproto_catalog.py.--no-depsinto an isolated environment outside the repository and imports the catalog without loadingmooncake.structured_object_store.The legacy end-to-end
scripts/test_installation.shwas not run because it requires separately prebuilt legacy release artifacts and system-package installation. Its updated inputs pass shell syntax validation; the supported root PEP 517 build and isolated installed-wheel path were exercised end to end.After merging
main(d9152a4, 2026-09-28):PYTHONPATH=python:mooncake-wheel python -m pytest -q python/tests/integration/dataproto \ python/tests/packaging mooncake-wheel/tests/test_structured_object_store.py pre-commit run --files $(git diff --name-only --diff-filter=ACMR origin/main...HEAD)mooncake.store(8), a built_fast_copy(2), or built wheels (2 installed-wheel smoke tests)..github/CODEOWNERS,.github/labeler.yml,scripts/build_wheel.sh,scripts/test_installation.sh,python/tests/packaging/test_installed_wheel.py,python/tests/packaging/test_project.pywere resolved by keeping both sides.python/tests/integration/dataproto/test_dataproto_catalog.pyneeded a manual merge: it now holds all of [Wheel] Add DataProto catalog lifecycle management #3374's tests plus this PR's source-location tests.python/beforemooncake-wheel/onPYTHONPATH, because [Store] Migrate lightweight Python utilities to unified package #3586 movedbuffer_pool.pytopython/mooncakeand the legacymooncake/__init__.pyimports it;dataproto_catalog.pyis removed from the legacy-module list intest_scikit_build_consumes_unified_python_sources; theTestslabel entry forpython/tests/integration/dataproto/**/*is dropped becausemain'spython/tests/**/*glob covers it; andruff formatis applied to three statements inherited from [Wheel] Add DataProto catalog lifecycle management #3374 in the moved files, because CI's changed-lines check treats moved files as fully changed. Apart from that formatting, the moved module is identical tomain's legacy copy.ruff checkplusscripts/ci/check_changed_python_format.py, ruff 0.6.9) passes.twine check, and installed-wheel smoke runs from the original submission were not repeated after the merge. CI does not run them either (it builds only the legacyscripts/build_wheel.shwheel and runsscripts/test_installation.sh), so they still need a rerun.Checklist
./scripts/code_format.sh(no C/C++ changes; applicable formatting passed through pre-commit)main: 91 additions, 21 deletions)AI Assistance Disclosure
OpenAI Codex performed the scoped source-layout migration, packaging and ownership updates, overlap audit, validation, diff review, and PR preparation. The human submitter remains responsible for reviewing every changed line and defending the change end to end.
Claude Code (Anthropic) merged
maininto this branch on 2026-09-28, resolved the conflicts, re-ran the focused tests listed under "After mergingmain", and updated this description.