feat(storage): plan retained manifest imports - #609
Draft
fishmingyu wants to merge 3 commits into
Draft
Conversation
Add a pure bounded planner for current RepoManifest v1.1 BM25 and vector projections. The planner freezes source, selection, profile, and generation intent without filesystem, native parser, CAS, catalog, or environment access. Required views fail closed, optional incompatibilities are explicit, and all public construction and JSON entry points enforce bounded canonical values before copying or traversal. Verified with 255 focused tests and 615 tests across compiler plus storage models, along with Black, repository-profile isort, flake8, py_compile, and diff checks.
Record the pure RepoManifest planning boundary and keep retained artifact reads, CAS upload, snapshot publication, export, and M2 job publication explicitly outstanding.
Propagate the remaining encoded-byte budget through recursive manifest snapshots so object keys, separators, and minimum child size are charged before a caller-owned child mapping is consumed. Bound scalar and container values at each recursion level. Verified with 256 focused planner tests and 616 tests across compiler plus storage models, including a hostile child mapping that remains unconsumed after the parent budget is exhausted.
14 tasks
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.
Summary
Add a pure, backend-neutral planner that converts bounded
RepoManifestv1.1 input into immutable retained-import intent. This layer validates and selects portable artifacts, but deliberately does not read artifacts, write CAS objects, mutate the catalog, or publish refs.Changes
Type of Change
Testing
Tests pass locally
Added new tests for the changes
pytest -q test/compiler/test_manifest_storage.py --tb=short— 256 passedpytest -q test/compiler test/storage/test_models.py --tb=short— 616 passedBlack 24.8.0, isort 5.13.2 with the repository profile, flake8 7.1.1 plus bugbear,
py_compile, andgit diff --checkpass for the changed surface.Checklist
Stacked on #606, which is itself stacked on #605. Keep this PR in Draft until both dependencies are merged or the stack is explicitly restacked and reverified.