Repository navigation
refactor(cli): isolate schema lifecycle and lint execution - #1044
Closed
aaltshuler wants to merge 13 commits into
Closed
aaltshuler wants to merge 13 commits into
aaltshuler wants to merge 13 commits into
Conversation
5 tasks done
Contributor
Author
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.
What & why
Schema, initialization and lint commands currently panic if stdout closes while printing their result. Move their arguments and execution into
commands/schemaand use fallible, supplied output writers, so delivery failures return through application completion. Schema apply retains its existing write evidence and reconciliation guidance after publication; init and system-column upgrade keep their own execution paths and do not acquire an unsupported data-write outcome envelope.The slice covers
init,schema plan/apply/show/upgrade-system-columns, andlint. Public syntax, aliases, successful output and report exit statuses remain unchanged. It preserves cluster ownership checks before init/apply source reads, direct-only schema apply, actor attribution, read-only planning, offline lint without target resolution, query-before-schema reads, and the upgrade adapter's separate check/execution opens. No new commands, flags, dependencies, storage changes or retries.Backing issue / RFC
The draft coherency RFC in #675 supplies refactor sequencing; this does not introduce its proposed targeting grammar.
Checklist
Local verification
env CARGO_TARGET_DIR=/Users/andrew/code/omnigraph/target CARGO_BIN_EXE_omnigraph-server=/Users/andrew/code/omnigraph/target/debug/omnigraph-server cargo test -p omnigraph-cli --locked— 522 passed, 19 ignored.cargo clippy -p omnigraph-cli --all-targets --locked -- -D warnings -W clippy::dbg_macro— passed.cargo fmt --all --check,python scripts/check-docs.pyin the existing documentation environment (316 files), targetedtypos, andgit diff --check— passed.Notes for reviewers
Depends on #1043 at
8b22f35350a6ea6ef6dca4f920b79bfbcdfbb2c9, still open. This slice is commit1d758e63; predecessor commits remain in the PR until that stack lands.Stored-query registry commands remain with the cluster control boundary: they consume an applied deployment snapshot rather than standalone schema files. No test fixture or parallel semantic test suite was added.