Skip to content

Upgrade motley-slayer to >=0.8.1 (advanced-search extra) - #51

Merged
ZmeiGorynych merged 1 commit into
mainfrom
slayer-0.8.1-upgrade
Jun 21, 2026
Merged

Upgrade motley-slayer to >=0.8.1 (advanced-search extra)#51
ZmeiGorynych merged 1 commit into
mainfrom
slayer-0.8.1-upgrade

Conversation

@ZmeiGorynych

@ZmeiGorynych ZmeiGorynych commented Jun 21, 2026

Copy link
Copy Markdown
Member

What

  • Bumps the motley-slayer floor 0.7.4 → 0.8.1 in both the slayer and all extras.
  • Switches the extra from the legacy embedding-search to advanced-search (the current name; embedding-search is now only a graph-less legacy alias). Updated in every reference: both pyproject.toml extras, .mcp.json, the harness.py install-hint message, and the floor-guard regex in tests/test_dev1546_distinct_dim_values.py.
  • Relocks uv.lock (0.8.0 → 0.8.1; advanced-search adds ladybug).

Why

The query-syntax-rejection analysis (PR #50) found that the dominant filter_construction failure mode in slayer-mode runs (~77% of that bucket) was the agent filtering on aggregates / query-declared measures / inline aggregations — which 0.7.3 rejected. These were fixed in 0.8.x (DEV-1443, DEV-1568); on 0.8.1 they now compile to HAVING. Verified directly:

Filter 0.8.x result
num_customers >= 5 (query-declared named measure) HAVING COUNT(DISTINCT customer_id) >= 5
customer_id:count_distinct >= 5 (inline aggregation) HAVING …
amount:sum > 100 (bare aggregate) HAVING SUM(amount) > 100

Test plan

  • env -u SSH_AUTH_SOCK uv run --extra all --extra dev --extra pydantic-ai pytest3220 passed, 94 skipped, 50 deselected on 0.8.1 + advanced-search.
  • The floor guard (test_motley_slayer_floor_is_at_least_0_7_2) passes against the renamed extra (0.8.1 ≥ 0.7.2).

Note: the 50 integration tests (real slayer ingest subprocesses) are excluded by default; a cloud smoke on 0.8.1 is the real end-to-end confirmation and is not part of this PR.

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Chores
    • Updated search capability dependency from embedding-search 0.7.4 to advanced-search 0.8.1 across configuration, project dependencies, and related installation guidance.

…arch extra

Bump the `motley-slayer` floor from 0.7.4 to 0.8.1 and switch the extra
from the legacy `embedding-search` to `advanced-search` (the current name;
`embedding-search` is now only a graph-less legacy alias). Updated in every
reference: both `pyproject.toml` extras, `.mcp.json`, the `harness.py`
install-hint message, and the floor-guard regex in
`test_dev1546_distinct_dim_values.py`. `uv.lock` relocked (0.8.0 → 0.8.1;
adds `ladybug` from advanced-search).

0.8.x fixes the filter-on-aggregate / query-declared-measure / inline-
aggregation cases (DEV-1443, DEV-1568) that the query-syntax-rejection
analysis (PR #50) found to be the dominant `filter_construction` failure
mode in slayer-mode runs — those now compile to `HAVING` instead of being
rejected.

Full non-integration suite green on 0.8.1: 3220 passed, 94 skipped.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Jun 21, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

Renames the motley-slayer pip extra tag from embedding-search to advanced-search and raises the version floor from >=0.7.4 to >=0.8.1. The change is applied uniformly across the MCP server config, pyproject.toml optional dependencies (slayer and all extras), the runtime error message in harness.py, and the version-floor test regex.

Changes

embedding-search → advanced-search rename

Layer / File(s) Summary
Rename extra tag and bump version across config, deps, runtime, and tests
pyproject.toml, .mcp.json, src/bird_interact_agents/harness.py, tests/test_dev1546_distinct_dim_values.py
motley-slayer[embedding-search]>=0.7.4 replaced with motley-slayer[advanced-search]>=0.8.1 in both slayer and all optional dependency groups, the --from argument in the MCP server config, the RuntimeError install hint in harness.py, and the version-floor regex in the test.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

Poem

A rabbit hops through code so neat,
Swapping tags with nimble feet.
embedding-search had a good run,
advanced-search gets all the fun! 🐇
Version bumped, the burrow's done. ✨

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The PR title clearly and specifically describes the main change: upgrading motley-slayer from 0.7.4 to 0.8.1 and migrating to the advanced-search extra, which is the primary focus across all modified files.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
tests/test_dev1546_distinct_dim_values.py (1)

602-629: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Align the floor-guard threshold with the new 0.8.1 policy.

This test still asserts >=0.7.2, so it won’t catch regressions below the new intended floor (>=0.8.1) introduced in this PR.

Suggested update
-def test_motley_slayer_floor_is_at_least_0_7_2():
-    """``pyproject.toml`` must pin ``motley-slayer >= 0.7.2`` in BOTH
+def test_motley_slayer_floor_is_at_least_0_8_1():
+    """``pyproject.toml`` must pin ``motley-slayer >= 0.8.1`` in BOTH
@@
-    # Both extras must use a >= floor at least 0.7.2 (allow patch bumps).
+    # Both extras must use a >= floor at least 0.8.1 (allow patch bumps).
@@
-        assert version >= (0, 7, 2), (
-            f"motley-slayer floor {raw!r} is below 0.7.2 — "
-            "the distinct_dimension_values field requires 0.7.2+."
+        assert version >= (0, 8, 1), (
+            f"motley-slayer floor {raw!r} is below 0.8.1 — "
+            "this repository now requires 0.8.1+."
         )
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@tests/test_dev1546_distinct_dim_values.py` around lines 602 - 629, The test
function test_motley_slayer_floor_is_at_least_0_7_2 is currently checking that
the motley-slayer version is at least 0.7.2, but the PR has introduced a new
floor requirement of 0.8.1. Update the version tuple in the assertion statement
from (0, 7, 2) to (0, 8, 1), and update the error message string to reference
0.8.1 instead of 0.7.2. Additionally, update the function docstring and any
inline comments that mention 0.7.2 to reflect the new 0.8.1 floor requirement to
keep the test documentation accurate.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Outside diff comments:
In `@tests/test_dev1546_distinct_dim_values.py`:
- Around line 602-629: The test function
test_motley_slayer_floor_is_at_least_0_7_2 is currently checking that the
motley-slayer version is at least 0.7.2, but the PR has introduced a new floor
requirement of 0.8.1. Update the version tuple in the assertion statement from
(0, 7, 2) to (0, 8, 1), and update the error message string to reference 0.8.1
instead of 0.7.2. Additionally, update the function docstring and any inline
comments that mention 0.7.2 to reflect the new 0.8.1 floor requirement to keep
the test documentation accurate.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: dab4437f-4cb3-4836-9285-e27ed7dad53f

📥 Commits

Reviewing files that changed from the base of the PR and between 8a19a93 and e90fbd8.

⛔ Files ignored due to path filters (1)
  • uv.lock is excluded by !**/*.lock
📒 Files selected for processing (4)
  • .mcp.json
  • pyproject.toml
  • src/bird_interact_agents/harness.py
  • tests/test_dev1546_distinct_dim_values.py

@ZmeiGorynych
ZmeiGorynych merged commit eb2c57a into main Jun 21, 2026
1 check passed
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.

1 participant