[codex] Add CoveQL CLI acceleration workflow#50
Merged
Conversation
There was a problem hiding this comment.
Pull request overview
This PR introduces a beginner-facing cove CLI (new cove-cli crate) and extends the coveql crate with acceleration bundle discovery/generation plus expanded table/graph capabilities (relational methods, windows, graph algorithms) and richer explain/logical-plan reporting. It also adds checked-in CoveQL sample artifacts and a Quickstart to make the new CLI and query surfaces easy to discover.
Changes:
- Add
cove-cliwithinspect,query, andoptimizecommands, including external table mounting, output formatting, and safe-auto sidecar usage. - Add
coveqlacceleration bundle APIs (plan/generate/discover/apply) and wire COVE-E sidecar inputs into physical proof validation. - Expand CoveQL contracts/planning/explain coverage for relational methods, windows, and graph algorithms; add tests and docs/samples.
Reviewed changes
Copilot reviewed 26 out of 30 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| v2/examples/coveql/README.md | Adds a small README describing the beginner CoveQL samples and example commands. |
| v2/examples/coveql/people.jsonl | Adds a tiny JSONL source dataset for the checked-in samples. |
| v2/docs/coveql-quickstart.md | Adds an end-to-end quickstart for cove inspect/query/optimize, formats, external tables, and sidecars. |
| v2/crates/coveql/tests/operation_context.rs | Adds conformance tests for new table/graph/query-builder behavior and contracts. |
| v2/crates/coveql/src/physical_sidecars.rs | Extends physical sidecar inputs to include optional COVE-E bytes. |
| v2/crates/coveql/src/physical_proofs.rs | Allows execution-code metadata validation to use a supplied COVE-E sidecar. |
| v2/crates/coveql/src/materialized.rs | Adds internal window-function keying helpers and window value accessors. |
| v2/crates/coveql/src/logical_plan.rs | Extends logical plan nodes to surface relational/window/graph-algorithm stages. |
| v2/crates/coveql/src/lib.rs | Re-exports acceleration/beginner APIs and expands profile contracts/method lists. |
| v2/crates/coveql/src/expr_eval.rs | Evaluates window-related functions via materialized window values. |
| v2/crates/coveql/src/explain.rs | Expands explain JSON with additional table/graph contract details. |
| v2/crates/coveql/src/dependencies.rs | Tracks dependencies introduced by CTEs and graph algorithms. |
| v2/crates/coveql/src/datafusion.rs | Tightens “simple scan” detection and residual reporting for new method-chain features. |
| v2/crates/coveql/src/builder.rs | Extends the query builder with relational methods, windows, and graph algorithms. |
| v2/crates/coveql/src/ast.rs | Extends resolve options and resolved structures for authorities, joins, windows, algorithms, and bridges. |
| v2/crates/coveql/src/acceleration.rs | Implements acceleration bundle planning, sidecar generation, discovery, and application. |
| v2/crates/cove-cli/tests/smoke.rs | Adds CLI smoke tests covering inspect/query/optimize, formats, joins/windows, and sidecar behavior. |
| v2/crates/cove-cli/src/main.rs | Adds the cove binary entrypoint. |
| v2/crates/cove-cli/src/lib.rs | Implements CLI argument parsing and command execution for inspect/query/optimize. |
| v2/crates/cove-cli/examples/generate_beginner_samples.rs | Adds a generator example for the checked-in beginner sample artifacts. |
| v2/crates/cove-cli/Cargo.toml | Introduces the new cove-cli package and its dependencies. |
| v2/Cargo.toml | Adds cove-cli to the v2 workspace members. |
| v2/Cargo.lock | Locks dependencies for the new crate. |
| README.md | Documents the new CLI crate, quickstart, and sample artifacts. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comment on lines
793
to
797
| Ok(_) => vec![default_execution_code_domain( | ||
| planned, | ||
| false, | ||
| Some("no embedded COVE-E execution-code metadata found".into()), | ||
| Some(format!("no {source} execution-code metadata found")), | ||
| )], |
Comment on lines
+14
to
+17
| pub(crate) fn window_function_key(name: &str, args: &[ResolvedExpr]) -> String { | ||
| let args = serde_json::to_string(args).unwrap_or_else(|_| "[]".into()); | ||
| format!("{INTERNAL_PROJECTION_FIELD_PREFIX}window:{name}:{args}") | ||
| } |
| "authority_kind": table.table_surface_contract.authority_kind, | ||
| "authority_fingerprint": table.table_surface_contract.authority_fingerprint, | ||
| "schema_fingerprint": table.table_surface_contract.schema_fingerprint, | ||
| "execution_authority": table.execution_authority, |
Comment on lines
+881
to
+887
| self.methods.push(format!( | ||
| "withRecursive(name: {}, seed: {}, step: {}, key: {}, maxIterations: {max_iterations})", | ||
| coveql_identifier(name.as_ref()), | ||
| coveql_table_binding(seed_table, seed_alias), | ||
| coveql_table_binding(step_table, step_alias), | ||
| key.as_ref() | ||
| )); |
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
coveCLI crate with inspect, query, optimize, output formatting, graph/table options, external table mounting, and performance reporting.cove querysafe-auto by default with explicit performance controls, strict mode, compare mode, sidecar discovery, and COVE-E sidecar plumbing.Notes
cove optimizewrites sidecars and a.covperf.jsonmanifest without modifying the source artifact.Validation
cargo fmt --all --checkgit diff --checkcargo test -p cove-cli --all-featurescargo test -p coveql --all-featurescove-index,cove-coverage,cove-layout,cove-cache,cove-map, andcove-datafusiontestscargo test --workspace --all-featurescargo bench -p coveql --all-features --bench table_reads --no-run