Skip to content

feat(migrate): [6/7] Full CLI commands and documentation#565

Closed
nkanu17 wants to merge 5 commits intofeat/migrate-wizardfrom
feat/migrate-cli-docs
Closed

feat(migrate): [6/7] Full CLI commands and documentation#565
nkanu17 wants to merge 5 commits intofeat/migrate-wizardfrom
feat/migrate-cli-docs

Conversation

@nkanu17
Copy link
Copy Markdown
Collaborator

@nkanu17 nkanu17 commented Apr 1, 2026

Summary

Adds the complete rvl migrate CLI with all subcommands (wizard, async, batch) and comprehensive documentation including a user guide, concept docs, and API reference.

This PR extends the basic CLI from PR #560 to include all advanced subcommands that depend on the wizard, async, and batch modules added in PRs #562-#564.

Usage

All commands available after this PR:

# Core commands (from PR #560)
rvl migrate helper
rvl migrate list
rvl migrate plan --index <name> --schema-patch <patch.yaml>
rvl migrate apply --plan <plan.yaml>
rvl migrate estimate --plan <plan.yaml>
rvl migrate validate --plan <plan.yaml>

# Wizard (added here)
rvl migrate wizard --index <name>

# Async mode (added here)
rvl migrate apply --plan <plan.yaml> --async

# Batch commands (added here)
rvl migrate batch-plan --schema-patch <patch.yaml> --pattern "*_idx"
rvl migrate batch-apply --plan <batch_plan.yaml>
rvl migrate batch-resume --state <batch_state.yaml>
rvl migrate batch-status --state <batch_state.yaml>

What is included

  • Full CLI (redisvl/cli/migrate.py): Complete Migrate class with all subcommands including wizard, async apply, and batch operations.
  • Documentation:
    • docs/concepts/index-migrations.md: Concept guide explaining migration modes, supported changes, and architecture.
    • docs/user_guide/how_to_guides/migrate-indexes.md: Step-by-step how-to guide with examples.
    • docs/api/cli.rst: API reference for the CLI.
    • Updates to docs/concepts/index.md and docs/user_guide/index.md for navigation.
  • CLI notebook (docs/user_guide/cli.ipynb): Updated to include migrate commands.

PR Stack

PR Branch Description
#560 feat/migrate-core Core planner, validator, sync executor, and basic CLI
#561 feat/migrate-executor Quantization reliability layer
#562 feat/migrate-async Async planner, executor, and validator
#563 feat/migrate-batch Batch migration with multi-index support
#564 feat/migrate-wizard Interactive migration wizard
#565 (this) feat/migrate-cli-docs Full CLI commands and documentation
#566 feat/migrate-benchmarks Performance benchmarks

Copilot AI review requested due to automatic review settings April 1, 2026 22:39
@jit-ci
Copy link
Copy Markdown

jit-ci bot commented Apr 1, 2026

🛡️ Jit Security Scan Results

CRITICAL HIGH MEDIUM

✅ No security findings were detected in this PR


Security scan by Jit

@nkanu17
Copy link
Copy Markdown
Collaborator Author

nkanu17 commented Apr 1, 2026

@codex review

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Adds a new rvl migrate CLI command group to expose the index migration planner/executor/validator workflow, alongside substantial documentation covering migration concepts, field attribute updates, and user-facing how-to guidance.

Changes:

  • Introduces redisvl/cli/migrate.py and wires it into the top-level CLI (rvl migrate ...).
  • Refactors CLI option helpers to share Redis connection flags, and expands docs to include migration concepts + a migration how-to guide.
  • Adds/updates contributor guidance (AGENTS.md, CONTRIBUTING.md) and updates ignore patterns for migration artifacts.

Reviewed changes

Copilot reviewed 15 out of 16 changed files in this pull request and generated 11 comments.

Show a summary per file
File Description
redisvl/cli/utils.py Refactors CLI arg helpers; centralizes Redis connection options.
redisvl/cli/migrate.py New migration CLI command group (plan/apply/validate + batch operations).
redisvl/cli/main.py Wires migrate into top-level CLI routing/usage text.
docs/user_guide/index.md Adds migrations to user guide landing page cards.
docs/user_guide/how_to_guides/migrate-indexes.md New end-to-end migration how-to guide for the CLI workflow.
docs/user_guide/how_to_guides/index.md Adds migration guide to how-to index and toctree.
docs/user_guide/cli.ipynb Updates CLI notebook to include rvl migrate commands.
docs/user_guide/13_sql_query_exercises.ipynb Adds a new SQLQuery exercises notebook.
docs/concepts/search-and-indexing.md Mentions the migration workflow in indexing lifecycle docs.
docs/concepts/index.md Adds “Index Migrations” to concepts navigation.
docs/concepts/index-migrations.md New concept doc explaining migration modes/limits and sync vs async.
docs/concepts/field-attributes.md Expands vector datatype docs + adds migration/wizard attribute support notes.
docs/api/cli.rst Adds (new) CLI reference page.
CONTRIBUTING.md Adds conventional branch/commit guidance.
AGENTS.md Adds project context, workflows, and repo conventions.
.gitignore Ignores migration output artifacts and adds additional local dev ignores.

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

@chatgpt-codex-connector
Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Keep it up!

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 15 out of 16 changed files in this pull request and generated 8 comments.


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

@nkanu17
Copy link
Copy Markdown
Collaborator Author

nkanu17 commented Apr 1, 2026

@codex review

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 751a0e5950

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 15 out of 16 changed files in this pull request and generated 7 comments.


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

@nkanu17 nkanu17 force-pushed the feat/migrate-wizard branch from b94e57a to 541db34 Compare April 2, 2026 00:30
nkanu17 added a commit that referenced this pull request Apr 2, 2026
- Fix create_redis_url: use 'rediss://' scheme instead of 'redis://rediss://'
- Exit with status 1 on unknown subcommand
- Fix SVS_VAMANA -> SVS-VAMANA in help text
- Add field_rename and key_rename progress steps (8 total)
- Exit with status 1 when batch state file not found
nkanu17 added a commit that referenced this pull request Apr 2, 2026
Per AGENTS.md convention, local imports should have a comment
explaining why they are not at module level.
nkanu17 added a commit that referenced this pull request Apr 2, 2026
- Remove leftover numbered list fragment in migrate-indexes.md (#565 #20)
- Extract duplicated progress_callback into shared _make_progress_callback
  method in migrate.py (#565 #21)
- Add rvl migrate section to CLI reference docs (#565 #19)
- Add try/except for matplotlib import in visualize_results.py (#566 #14)
@nkanu17 nkanu17 force-pushed the feat/migrate-cli-docs branch from 751a0e5 to 49ce997 Compare April 2, 2026 00:30
@nkanu17
Copy link
Copy Markdown
Collaborator Author

nkanu17 commented Apr 2, 2026

@codex review

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 49ce997cbd

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

nkanu17 added a commit that referenced this pull request Apr 2, 2026
- Fix create_redis_url: use 'rediss://' scheme instead of 'redis://rediss://'
- Exit with status 1 on unknown subcommand
- Fix SVS_VAMANA -> SVS-VAMANA in help text
- Add field_rename and key_rename progress steps (8 total)
- Exit with status 1 when batch state file not found
@nkanu17 nkanu17 force-pushed the feat/migrate-wizard branch from 541db34 to 7eea293 Compare April 2, 2026 03:58
nkanu17 added a commit that referenced this pull request Apr 2, 2026
Per AGENTS.md convention, local imports should have a comment
explaining why they are not at module level.
nkanu17 added a commit that referenced this pull request Apr 2, 2026
- Align batch-status display to use 'success' matching BatchIndexState model
- Clean up batch executor status check to use canonical 'success' only
Copilot AI review requested due to automatic review settings April 2, 2026 03:58
nkanu17 added a commit that referenced this pull request Apr 2, 2026
- Remove leftover numbered list fragment in migrate-indexes.md (#565 #20)
- Extract duplicated progress_callback into shared _make_progress_callback
  method in migrate.py (#565 #21)
- Add rvl migrate section to CLI reference docs (#565 #19)
- Add try/except for matplotlib import in visualize_results.py (#566 #14)
@nkanu17 nkanu17 force-pushed the feat/migrate-cli-docs branch from 49ce997 to a1d54c9 Compare April 2, 2026 03:58
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 16 out of 17 changed files in this pull request and generated 12 comments.

Comments suppressed due to low confidence (1)

redisvl/cli/utils.py:26

  • Because --user defaults to "default" and create_redis_url() appends args.user whenever it’s truthy, the constructed URL will include a username even when no auth is intended (e.g., redis://default@localhost:6379). Consider defaulting --user to empty/None and/or only including the username segment when a password is provided or the user explicitly sets --user, so the generated URL matches typical Redis connection strings.
        if args.ssl:
            url = "rediss://"
        else:
            url = "redis://"
        if args.user:
            url += args.user
            if args.password:
                url += ":" + args.password
            url += "@"
        url += args.host + ":" + str(args.port)

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

Comment on lines +129 to +151
def plan(self):
parser = argparse.ArgumentParser(
usage=(
"rvl migrate plan --index <name> "
"(--schema-patch <patch.yaml> | --target-schema <schema.yaml>)"
)
)
parser.add_argument("-i", "--index", help="Source index name", required=True)
parser.add_argument("--schema-patch", help="Path to a schema patch file")
parser.add_argument("--target-schema", help="Path to a target schema file")
parser.add_argument(
"--plan-out",
help="Path to write migration_plan.yaml",
default="migration_plan.yaml",
)
parser.add_argument(
"--key-sample-limit",
help="Maximum number of keys to sample from the index keyspace",
type=int,
default=10,
)
parser = add_redis_connection_options(parser)

Copy link

Copilot AI Apr 2, 2026

Choose a reason for hiding this comment

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

The plan subcommand advertises (--schema-patch | --target-schema) but argparse does not enforce that exactly one is provided. Right now this relies on MigrationPlanner.create_plan() raising a ValueError, which results in a less user-friendly CLI experience. Consider using an argparse mutually-exclusive group with required=True so the CLI validates inputs and shows a clear usage error before connecting to Redis.

Copilot uses AI. Check for mistakes.

.. code-block:: bash

rvl migrate plan --index <name> (--patch <patch.yaml> | --target-schema <schema.yaml>) [OPTIONS]
Copy link

Copilot AI Apr 2, 2026

Choose a reason for hiding this comment

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

The rvl migrate plan syntax uses --patch, but the implemented CLI flag is --schema-patch (and the other mode is --target-schema). The reference should match the actual flags so copy/paste examples work.

Copilot uses AI. Check for mistakes.
Comment on lines +509 to +512
* - ``--patch``
- Path to a YAML schema patch file (mutually exclusive with ``--target-schema``)
* - ``--target-schema``
- Path to a full target schema YAML file (mutually exclusive with ``--patch``)
Copy link

Copilot AI Apr 2, 2026

Choose a reason for hiding this comment

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

Under rvl migrate plan required options, the doc lists --patch, but the CLI expects --schema-patch. Please rename this option in the table to avoid documenting a non-existent flag.

Copilot uses AI. Check for mistakes.
Comment on lines +522 to +529
* - ``--output``, ``-o``
- Output path for the migration plan YAML (default: ``migration_plan.yaml``)

**Example**

.. code-block:: bash

rvl migrate plan -i my_index --patch changes.yaml -o plan.yaml
Copy link

Copilot AI Apr 2, 2026

Choose a reason for hiding this comment

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

The optional option --output/-o documented for rvl migrate plan does not exist in the CLI implementation (it uses --plan-out). The reference should be updated to the correct flag name (and add a short alias only if the code supports it).

Suggested change
* - ``--output``, ``-o``
- Output path for the migration plan YAML (default: ``migration_plan.yaml``)
**Example**
.. code-block:: bash
rvl migrate plan -i my_index --patch changes.yaml -o plan.yaml
* - ``--plan-out``
- Output path for the migration plan YAML (default: ``migration_plan.yaml``)
**Example**
.. code-block:: bash
rvl migrate plan -i my_index --patch changes.yaml --plan-out plan.yaml

Copilot uses AI. Check for mistakes.
- Description
* - ``--async``
- Run migration asynchronously (recommended for large quantization jobs)
* - ``--query-check``
Copy link

Copilot AI Apr 2, 2026

Choose a reason for hiding this comment

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

In the rvl migrate apply options, the reference lists --query-check, but the CLI implementation uses --query-check-file. Please update the flag name here so users can follow the reference without hitting an "unrecognized arguments" error.

Suggested change
* - ``--query-check``
* - ``--query-check-file``

Copilot uses AI. Check for mistakes.
Comment on lines +870 to +879
status: succeeded
duration_seconds: 45.2
docs_migrated: 15000
report_path: ./reports/products_idx_report.yaml
- name: users_idx
status: succeeded
duration_seconds: 38.1
docs_migrated: 8500
- name: orders_idx
status: succeeded
Copy link

Copilot AI Apr 2, 2026

Choose a reason for hiding this comment

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

Same as above: the example uses status: succeeded but the tool emits status: success. Update this block so the docs match the actual YAML output format.

Suggested change
status: succeeded
duration_seconds: 45.2
docs_migrated: 15000
report_path: ./reports/products_idx_report.yaml
- name: users_idx
status: succeeded
duration_seconds: 38.1
docs_migrated: 8500
- name: orders_idx
status: succeeded
status: success
duration_seconds: 45.2
docs_migrated: 15000
report_path: ./reports/products_idx_report.yaml
- name: users_idx
status: success
duration_seconds: 38.1
docs_migrated: 8500
- name: orders_idx
status: success

Copilot uses AI. Check for mistakes.

.. code-block:: bash

rvl migrate wizard -i my_index -o plan.yaml
Copy link

Copilot AI Apr 2, 2026

Choose a reason for hiding this comment

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

The rvl migrate wizard example uses -o plan.yaml, but the CLI implementation does not define -o/--output for wizard (it uses --plan-out). Update the example to the supported flag so it runs as documented.

Suggested change
rvl migrate wizard -i my_index -o plan.yaml
rvl migrate wizard -i my_index --plan-out plan.yaml

Copilot uses AI. Check for mistakes.
Comment on lines +527 to +529
.. code-block:: bash

rvl migrate plan -i my_index --patch changes.yaml -o plan.yaml
Copy link

Copilot AI Apr 2, 2026

Choose a reason for hiding this comment

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

The rvl migrate plan example uses --patch and -o, but the CLI uses --schema-patch and --plan-out. Adjusting the example will prevent users from hitting argparse errors when following the docs.

Copilot uses AI. Check for mistakes.
Comment on lines +553 to +557
**Optional Options**

.. list-table::
:widths: 30 70
:header-rows: 1
Copy link

Copilot AI Apr 2, 2026

Choose a reason for hiding this comment

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

The rvl migrate apply reference doesn’t mention --report-out / --benchmark-out, but the CLI implementation supports both outputs. Since this file is the CLI reference, consider adding these flags so users can control artifact locations.

Copilot uses AI. Check for mistakes.
|-----------|------|-----|---------|-----|--------|
| `sortable` | Wizard | Wizard | Wizard | Wizard | N/A |
| `index_missing` | Wizard | Wizard | Wizard | Wizard | N/A |
| `index_empty` | Wizard | Wizard | N/A | N/A | N/A |
Copy link

Copilot AI Apr 2, 2026

Choose a reason for hiding this comment

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

The “Wizard Prompts” table lists index_empty as N/A for Numeric/Geo, but the wizard prompts for index_empty in _prompt_common_attrs() for all supported add/update field types. Either the wizard should avoid prompting unsupported attrs, or the table should be updated to match the actual behavior.

Suggested change
| `index_empty` | Wizard | Wizard | N/A | N/A | N/A |
| `index_empty` | Wizard | Wizard | Wizard | Wizard | N/A |

Copilot uses AI. Check for mistakes.
nkanu17 added a commit that referenced this pull request Apr 2, 2026
- Fix create_redis_url: use 'rediss://' scheme instead of 'redis://rediss://'
- Exit with status 1 on unknown subcommand
- Fix SVS_VAMANA -> SVS-VAMANA in help text
- Add field_rename and key_rename progress steps (8 total)
- Exit with status 1 when batch state file not found
@nkanu17 nkanu17 force-pushed the feat/migrate-wizard branch from d01542e to f8679ab Compare April 2, 2026 15:09
nkanu17 added a commit that referenced this pull request Apr 2, 2026
Per AGENTS.md convention, local imports should have a comment
explaining why they are not at module level.
nkanu17 added a commit that referenced this pull request Apr 2, 2026
- Align batch-status display to use 'success' matching BatchIndexState model
- Clean up batch executor status check to use canonical 'success' only
@nkanu17 nkanu17 force-pushed the feat/migrate-cli-docs branch from eef591f to e851d24 Compare April 2, 2026 15:09
nkanu17 added a commit that referenced this pull request Apr 2, 2026
- Remove leftover numbered list fragment in migrate-indexes.md (#565 #20)
- Extract duplicated progress_callback into shared _make_progress_callback
  method in migrate.py (#565 #21)
- Add rvl migrate section to CLI reference docs (#565 #19)
- Add try/except for matplotlib import in visualize_results.py (#566 #14)
@nkanu17
Copy link
Copy Markdown
Collaborator Author

nkanu17 commented Apr 2, 2026

@codex review

@chatgpt-codex-connector
Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Keep it up!

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

nkanu17 added 5 commits April 2, 2026 11:29
…ate subcommand, user guide, and concept docs

CLI interface for migration operations (plan, execute, wizard) via
rvl migrate subcommand. Includes comprehensive user guide, concept
documentation for index migrations and field attributes, and updated
CLI reference.

Also adds AGENTS.md project context and updates CONTRIBUTING.md with
conventional commit and branch guidelines.
- Fix create_redis_url: use 'rediss://' scheme instead of 'redis://rediss://'
- Exit with status 1 on unknown subcommand
- Fix SVS_VAMANA -> SVS-VAMANA in help text
- Add field_rename and key_rename progress steps (8 total)
- Exit with status 1 when batch state file not found
Per AGENTS.md convention, local imports should have a comment
explaining why they are not at module level.
- Align batch-status display to use 'success' matching BatchIndexState model
- Clean up batch executor status check to use canonical 'success' only
@nkanu17 nkanu17 force-pushed the feat/migrate-wizard branch from f8679ab to 4086c0c Compare April 2, 2026 15:30
Copilot AI review requested due to automatic review settings April 2, 2026 15:30
@nkanu17 nkanu17 force-pushed the feat/migrate-cli-docs branch from e851d24 to 5d52713 Compare April 2, 2026 15:30
nkanu17 added a commit that referenced this pull request Apr 2, 2026
- Remove leftover numbered list fragment in migrate-indexes.md (#565 #20)
- Extract duplicated progress_callback into shared _make_progress_callback
  method in migrate.py (#565 #21)
- Add rvl migrate section to CLI reference docs (#565 #19)
- Add try/except for matplotlib import in visualize_results.py (#566 #14)
@nkanu17 nkanu17 changed the title feat(migrator): [6/7] CLI commands and documentation with rvl migrate subcommand, user guide, and concept docs feat(migrate): [6/7] Full CLI commands and documentation Apr 2, 2026
@nkanu17
Copy link
Copy Markdown
Collaborator Author

nkanu17 commented Apr 2, 2026

@codex review

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 15 out of 16 changed files in this pull request and generated 4 comments.


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

Comment on lines +497 to +523
rvl migrate plan --index <name> (--patch <patch.yaml> | --target-schema <schema.yaml>) [OPTIONS]

**Required Options**

.. list-table::
:widths: 30 70
:header-rows: 1

* - Option
- Description
* - ``--index``, ``-i``
- Name of the source index to migrate
* - ``--patch``
- Path to a YAML schema patch file (mutually exclusive with ``--target-schema``)
* - ``--target-schema``
- Path to a full target schema YAML file (mutually exclusive with ``--patch``)

**Optional Options**

.. list-table::
:widths: 30 70
:header-rows: 1

* - Option
- Description
* - ``--output``, ``-o``
- Output path for the migration plan YAML (default: ``migration_plan.yaml``)
Copy link

Copilot AI Apr 2, 2026

Choose a reason for hiding this comment

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

The CLI reference here doesn't match the actual rvl migrate plan flags implemented in redisvl/cli/migrate.py (uses --schema-patch and --plan-out, not --patch and --output/-o). As written, users following this page will get "unrecognized arguments" errors. Please update the syntax/option tables/examples to match the real CLI (or add backward-compatible aliases in the CLI).

Copilot uses AI. Check for mistakes.
Apply the migration: rvl migrate apply --plan {plan_out}
Validate the result: rvl migrate validate --plan {plan_out}
To cancel: rm {plan_out}"""
f"\nTo add more changes: rvl migrate wizard --index {plan.source.index_name} --patch schema_patch.yaml"
Copy link

Copilot AI Apr 2, 2026

Choose a reason for hiding this comment

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

The CLI guidance printed after plan generation hard-codes --patch schema_patch.yaml, but wizard allows --patch-out to be customized and plan may be generated from a patch with a different filename. Consider printing the actual patch path when available (e.g., pass patch_out into _print_plan_summary for wizard), or avoid referencing a specific filename.

Suggested change
f"\nTo add more changes: rvl migrate wizard --index {plan.source.index_name} --patch schema_patch.yaml"
f"\nTo add more changes: rvl migrate wizard --index {plan.source.index_name} --patch <PATCH_FILE>"

Copilot uses AI. Check for mistakes.
Comment on lines +846 to +851
Completed: 2
- products_idx: succeeded (10:02:30)
- users_idx: failed - Redis connection timeout (10:05:45)

In Progress: inventory_idx
Remaining: 1 (analytics_idx)
Copy link

Copilot AI Apr 2, 2026

Choose a reason for hiding this comment

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

Batch status examples use succeeded, but the batch executor/state models use status: success (and failed/skipped). Please update these examples to use the actual status strings so they match CLI output and generated YAML.

Copilot uses AI. Check for mistakes.
Comment on lines +1 to +20
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# SQL-to-Redis Query Translation: Hands-On Exercises\n",
"\n",
"This notebook provides hands-on exercises for learning the new **SQLQuery** feature in RedisVL, which allows you to write familiar SQL syntax that automatically translates to Redis Search commands.\n",
"\n",
"## What You'll Learn\n",
"\n",
"1. How to use the `SQLQuery` class to write SQL-like queries\n",
"2. Three equivalent approaches for the same queries:\n",
" - **RedisVL Python API** - Using native query classes (`FilterQuery`, `VectorQuery`, etc.)\n",
" - **RedisVL SQL** - Using the new `SQLQuery` class with SQL syntax\n",
" - **Raw Redis FT.SEARCH** - The equivalent Redis Search command\n",
"3. Various query types: filtering, numeric ranges, text search, aggregations, and vector similarity\n",
"\n",
"## Prerequisites\n",
Copy link

Copilot AI Apr 2, 2026

Choose a reason for hiding this comment

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

This notebook addition appears unrelated to the PR’s stated focus on rvl migrate CLI + migration docs, and it significantly increases the PR surface area. Please confirm it’s intended for this PR; otherwise, consider moving it to a separate PR (or updating the PR description to explicitly include SQLQuery exercises).

Copilot uses AI. Check for mistakes.
@nkanu17
Copy link
Copy Markdown
Collaborator Author

nkanu17 commented Apr 2, 2026

Closing in favor of restructured PR stack (Option A ordering).

@nkanu17 nkanu17 closed this Apr 2, 2026
@chatgpt-codex-connector
Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Nice work!

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

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