Skip to content

[bot] Merge master/8a7cf065 into rel/dev - #1761

Merged
yenkins-admin merged 2 commits into
rel/devfrom
snapshot-master-8a7cf065-to-rel/dev
Aug 26, 2026
Merged

[bot] Merge master/8a7cf065 into rel/dev#1761
yenkins-admin merged 2 commits into
rel/devfrom
snapshot-master-8a7cf065-to-rel/dev

Conversation

@yenkins-admin

Copy link
Copy Markdown
Contributor

🚀 Automated PR to perform merge from master into rel/dev with changes up to 8a7cf06 (created by https://github.com/gooddata/gooddata-python-sdk/actions/runs/32968183952).

…uest

generate_simulated_response() only saw the assistant's last message and the
ground-truth MAQL, and was instructed to force every clause of that MAQL to
be satisfied "even if the assistant's question doesn't explicitly ask about
it" -- so it would inject filters/constraints the user's original request
never mentioned, even when the assistant's proposal already matched it.

- Thread the original question through (metric_skill.py's
  _execute_single_metric_run already has it in scope; conversation.py's
  TurnDefinition.message carries the same for multi-turn conversations) and
  rewrite the prompt to agree when the original request is already
  satisfied, only adding a clause when it's a reasonable reading of that
  request -- not an unconditional replay of expected_outputs[0].
- Add an explicit branch for the dominant real case: the assistant asking a
  clarifying question with no proposal yet. Without it, the simulated user
  could trivially agree ("nothing proposed yet" == "satisfied") and stall
  the conversation, burning iterations without ever supplying the agent a
  usable answer.
- Replace fuzzy "is this filter a reasonable reading of the request"
  judgment with a deterministic _no_filter_hint(): when the ground-truth
  MAQL has no WHERE clause, the prompt explicitly tells the simulated user
  no filter is needed, closing the exact loophole that caused the bug.
  Matches WHERE as a standalone keyword outside {type/id} identifiers and
  quoted literals (reusing the existing _PROTECTED_RE / same rule as
  _casefold_outside_protected), so a substring like
  {metric/somewhere_sales} isn't mistaken for a real clause.
- conversation.py's metric branch (forwards to
  metric_skill.generate_simulated_response) had 0% test coverage behind a
  bare `except Exception: pass` -- a future signature mismatch would
  silently fall through to the generic fallback prompt. Log the exception
  and add a direct unit test for the branch.
- Restore the max_tokens >= 300 assertion, and reduce the new tests'
  reliance on exact prompt-prose assertions in favor of checking the
  interpolated data and the independently-testable _no_filter_hint() output.

Verified locally: ran the full agent_metric_skill (8 cases) and
agent_conversations (10 cases) suites against ecommerce_demo on
tavern-frank-test -- 18/18 passing with this fix.

QA-29094
…tric-scope

fix(gooddata-eval): scope simulated-user pushback to the original request
@yenkins-admin
yenkins-admin merged commit bf790b6 into rel/dev Aug 26, 2026
2 checks passed
@yenkins-admin
yenkins-admin deleted the snapshot-master-8a7cf065-to-rel/dev branch August 26, 2026 12:22
@coderabbitai

coderabbitai Bot commented Aug 26, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: c374f879-1ce5-41f7-9910-2845b6f0d653

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

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

@codecov

codecov Bot commented Aug 26, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 85.71429% with 2 lines in your changes missing coverage. Please review.
✅ Project coverage is 80.65%. Comparing base (0e0f3dd) to head (8a7cf06).
⚠️ Report is 565 commits behind head on rel/dev.

Files with missing lines Patch % Lines
...val/src/gooddata_eval/core/agentic/conversation.py 33.33% 2 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff             @@
##           rel/dev    #1761      +/-   ##
===========================================
+ Coverage    80.61%   80.65%   +0.03%     
===========================================
  Files          272      272              
  Lines        19362    19369       +7     
===========================================
+ Hits         15609    15622      +13     
+ Misses        3753     3747       -6     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

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