Skip to content

[codex] Unify cove CLI utilities#51

Merged
thomasaiwilcox merged 2 commits into
mainfrom
codex/cove-cli-hardening
Jun 6, 2026
Merged

[codex] Unify cove CLI utilities#51
thomasaiwilcox merged 2 commits into
mainfrom
codex/cove-cli-hardening

Conversation

@thomasaiwilcox

Copy link
Copy Markdown
Owner

Summary

  • Make cove the single public CLI entry point for conversion, validation, inspection, dumping, COVE-MAP workflows, sidecar tooling, Arrow export, performance diagnostics, profile utilities, digest verification, and canonical value tools.
  • Move reusable command logic out of old public binary targets into library modules that cove-cli dispatches directly.
  • Remove obsolete standalone public binary sources while keeping developer-only tools separate.
  • Update README, quickstarts, spec guidance, release gates, conformance fixtures, and tests for the current cove ... command surface.

Validation

  • cargo fmt --all
  • cargo test -p cove-cli --all-targets -p cove-convert-parquet -p cove-core -p cove-datafusion -p cove-validate -p cove-inspect -p cove-dump
  • cargo test -p cove-map -p cove-index -p cove-coverage -p cove-layout -p cove-cache -p cove-runtime
  • cargo clippy --workspace --all-targets -- -D warnings
  • CARGO_TARGET_DIR=/tmp/cove-release-gate-target sh scripts/release-gates.sh

@thomasaiwilcox thomasaiwilcox marked this pull request as ready for review June 6, 2026 07:28
Copilot AI review requested due to automatic review settings June 6, 2026 07:28

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR consolidates the v2 CLI surface so cove becomes the single public entry point, moving legacy standalone CLI binaries into library modules and updating specs/docs/tests/release gates to match the unified subcommand structure.

Changes:

  • Removed many standalone public CLI binaries (e.g., cove-validate, cove-*-inspect, cove-map-*, cove-convert-*) and re-exposed their behavior through cove-cli subcommands.
  • Refactored several crates to provide library “CLI runners” (e.g., cove-validate, cove-dump, cove-inspect, DataFusion export/perf helpers) for cove-cli to dispatch.
  • Updated specification text, docs, conformance fixtures, and release gates to reference the unified cove ... command surface.

Reviewed changes

Copilot reviewed 76 out of 77 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
v2/spec.md Updates spec tool references to unified cove ... commands.
v2/scripts/release-gates.sh Switches release gate invocations from standalone bins to cove-cli subcommands.
v2/examples/coveql/README.md Adds cove examples / cove doctor to the walkthrough.
v2/docs/coveql-quickstart.md Introduces beginner entrypoints (examples, doctor) and guidance.
v2/docs/covemap-json-schema-v1.md Updates CLI references to cove map ....
v2/crates/coveql/src/beginner.rs Updates beginner guidance string to cove map convert.
v2/crates/cove-validate/tests/integration.rs Migrates validation CLI tests to run via unified cove validate.
v2/crates/cove-validate/src/main.rs Removes standalone cove-validate binary entrypoint.
v2/crates/cove-validate/src/lib.rs Adds library run_cli()/usage() entrypoints for validation behavior.
v2/crates/cove-validate/src/args.rs Updates usage string to unified cove validate.
v2/crates/cove-validate/Cargo.toml Disables autobins to prevent rebuilding removed binaries.
v2/crates/cove-runtime/src/bin/cove-runtime-inspect.rs Removes standalone runtime-inspect binary.
v2/crates/cove-runtime/Cargo.toml Disables autobins after binary removal.
v2/crates/cove-map/src/ui.rs Updates usage output to cove map ....
v2/crates/cove-map/src/main.rs Removes standalone cove-map binary entrypoint.
v2/crates/cove-map/src/cli.rs Updates usage error strings to cove map ....
v2/crates/cove-map/src/bin/cove-map-validate.rs Removes standalone wrapper binary.
v2/crates/cove-map/src/bin/cove-map-test.rs Removes standalone wrapper binary.
v2/crates/cove-map/src/bin/cove-map-project.rs Removes standalone wrapper binary.
v2/crates/cove-map/src/bin/cove-map-preview.rs Removes standalone wrapper binary.
v2/crates/cove-map/src/bin/cove-map-plan-keys.rs Removes standalone wrapper binary.
v2/crates/cove-map/src/bin/cove-map-explain.rs Removes standalone wrapper binary.
v2/crates/cove-map/src/bin/cove-map-diff.rs Removes standalone wrapper binary.
v2/crates/cove-map/src/bin/cove-map-convert.rs Removes standalone wrapper binary.
v2/crates/cove-map/Cargo.toml Removes bin targets so mapping is driven via cove map ....
v2/crates/cove-layout/src/bin/cove-layout-inspect.rs Removes standalone layout-inspect binary.
v2/crates/cove-layout/Cargo.toml Disables autobins after binary removal.
v2/crates/cove-inspect/tests/smoke.rs Migrates inspection smoke tests to run via unified cove inspect.
v2/crates/cove-inspect/src/lib.rs Refactors inspect into a library CLI runner returning success/failure.
v2/crates/cove-inspect/src/inspect.rs Makes InspectSections publicly usable from cove-cli.
v2/crates/cove-inspect/Cargo.toml Disables autobins after binary removal.
v2/crates/cove-index/src/bin/cove-index-inspect.rs Removes standalone index-inspect binary.
v2/crates/cove-index/src/bin/cove-build-covi.rs Removes standalone covi build binary.
v2/crates/cove-index/Cargo.toml Disables autobins after binary removal.
v2/crates/cove-dump/tests/smoke.rs Migrates dump smoke tests to run via unified cove dump.
v2/crates/cove-dump/src/main.rs Removes standalone cove-dump binary entrypoint.
v2/crates/cove-dump/src/lib.rs Adds library run_cli()/usage() entrypoints for dump behavior.
v2/crates/cove-dump/src/args.rs Updates usage string to unified cove dump.
v2/crates/cove-dump/Cargo.toml Disables autobins after binary removal.
v2/crates/cove-datafusion/src/plan_cost_cli.rs Converts plan-cost CLI to a callable module for cove perf plan-cost.
v2/crates/cove-datafusion/src/lib.rs Exposes new CLI helper modules for cove-cli dispatch.
v2/crates/cove-datafusion/src/explain_pruning_cli.rs Converts explain-pruning CLI to a callable module for cove perf explain-pruning.
v2/crates/cove-datafusion/src/arrow_export_cli.rs Converts arrow-export CLI to a callable module for cove export arrow.
v2/crates/cove-datafusion/Cargo.toml Disables autobins after removing CLI binaries.
v2/crates/cove-coverage/src/bin/cove-coverage-inspect.rs Removes standalone coverage-inspect binary.
v2/crates/cove-coverage/Cargo.toml Disables autobins after binary removal.
v2/crates/cove-core/src/utility.rs Updates utility reports to reference unified sidecar build commands.
v2/crates/cove-core/src/profile_cli.rs Refactors profile CLI into a callable module and updates usage strings.
v2/crates/cove-core/src/lib.rs Exposes canonicalise/profile CLI modules for cove-cli dispatch.
v2/crates/cove-core/src/canonicalise_cli.rs Refactors canonicalise CLI into a callable module and updates usage strings.
v2/crates/cove-core/src/bin/cove-verify-digest.rs Removes standalone digest verify binary.
v2/crates/cove-core/src/bin/cove-build-covx.rs Removes standalone covx build binary.
v2/crates/cove-core/src/bin/cove-build-covm.rs Removes standalone covm build binary.
v2/crates/cove-core/Cargo.toml Disables autobins after removing utility binaries.
v2/crates/cove-convert-parquet/tests/cli.rs Migrates conversion/report tests to run via unified cove convert ....
v2/crates/cove-convert-parquet/src/main.rs Removes standalone parquet convert binary entrypoint.
v2/crates/cove-convert-parquet/src/lib.rs Adds modules for cove-cli dispatch (commands, report).
v2/crates/cove-convert-parquet/src/conversion_report.rs Refactors conversion report CLI into callable run() and updates usage.
v2/crates/cove-convert-parquet/src/commands.rs Adds per-format command runners for cove convert {parquet,arrow,orc,csv,report}.
v2/crates/cove-convert-parquet/src/bin/cove-convert-orc.rs Removes standalone ORC convert binary.
v2/crates/cove-convert-parquet/src/bin/cove-convert-arrow.rs Removes standalone Arrow convert binary.
v2/crates/cove-convert-parquet/Cargo.toml Disables autobins after removing conversion binaries.
v2/crates/cove-conformance/src/bin/gen-corpus.rs Updates generated release gate expectations to unified CLI commands.
v2/crates/cove-conformance/src/bin/gen-capability-matrix.rs Updates capability notes to unified CLI references.
v2/crates/cove-cli/tests/smoke.rs Expands smoke coverage for unified CLI subcommands and beginner commands.
v2/crates/cove-cli/src/lib.rs Implements unified command parsing/dispatch, sidecar tooling, digest, etc.
v2/crates/cove-cli/examples/generate_beginner_samples.rs Updates sample docs to include examples/doctor.
v2/crates/cove-cli/Cargo.toml Adds dependencies on former standalone-CLI crates and a new benchmark target.
v2/crates/cove-cli/benches/cli_regression.rs Adds a CLI regression benchmark runner.
v2/crates/cove-cache/src/bin/cove-cache-inspect.rs Removes standalone cache-inspect binary.
v2/crates/cove-cache/Cargo.toml Disables autobins after binary removal.
v2/conformance/reject/suite_coverage_report_missing_command.json Updates conformance needle to unified perf command name.
v2/conformance/manifest.jsonl Refreshes fixture sizes/digests to match updated gate/needle content.
v2/conformance/capability_matrix.md Updates evidence notes to unified CLI names.
v2/conformance/accept/suite_release_gates_contract.json Updates the expected release gate command list to unified CLI.
v2/Cargo.lock Updates lockfile for new cove-cli dependencies.
README.md Documents the unified CLI surface and adds examples/doctor guidance.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread v2/crates/cove-cli/src/lib.rs
Comment thread v2/crates/cove-cli/src/lib.rs
Comment thread v2/crates/cove-cli/src/lib.rs
Comment thread v2/crates/cove-cli/src/lib.rs
Comment thread v2/crates/cove-cli/src/lib.rs
@thomasaiwilcox thomasaiwilcox merged commit 51abaa3 into main Jun 6, 2026
13 checks passed
@thomasaiwilcox thomasaiwilcox deleted the codex/cove-cli-hardening branch June 6, 2026 07:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants