Skip to content

[bot] Merge master/71c9de7f into rel/dev - #1901

Merged
yenkins-admin merged 4 commits into
rel/devfrom
snapshot-master-71c9de7f-to-rel/dev
Oct 26, 2026
Merged

yenkins-admin merged 4 commits into
rel/devfrom
snapshot-master-71c9de7f-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 71c9de7 (created by https://github.com/gooddata/gooddata-python-sdk/actions/runs/40263958865).

huyenthanh09 and others added 4 commits October 23, 2026 17:48
An expected chart may state `chart_type`. The dashboard evaluator reads
the type from the chart body in the response's references, because a
widget names only the chart id, and publishes
`dashboard_chart_types_correct` when a case states one. A title alone
cannot catch a chart authored as another type than the one asked for.
An unknown type is rejected before the run.

JIRA: QA-29722
risk: nonprod

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The visualization evaluator now reads every bucket the extended chart
types use:
- `from` and `to` of a sankey or dependency wheel count as dimensions,
  and `size_by` of a bubble chart as a metric;
- a metric a repeater writes into `columns` counts as a metric, so the
  chart scores alike whichever bucket the agent put it in;
- a null metric holds the x position of a bubble with no x measure.

Three opt-in switches on an expected chart sharpen the check:
- `buckets_strict` compares bucket by bucket and publishes
  `assertion-vis-buckets`, so swapped heatmap rows and columns or a
  reversed sankey no longer pass on the union of the buckets;
- `metrics_ordered` compares the metrics by position, for bullet roles
  and bubble axes;
- an `axis` on an expected metric entry must match the combo axis.

JIRA: QA-29722
risk: nonprod

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…d the chart part

A visualization expectation can now state, beside its candidate charts:
- `expects_visualization: false`: the agent must answer without a chart,
  for example by asking for a part the request leaves out. The run stops
  after one turn and publishes `assertion-vis-no-chart`.
- `visualization_optional: true`: either an answer without a chart or a chart
  that matches a candidate is right, for a request the chart type cannot
  draw as asked. The run stops after one turn.
- `answer_must_include` / `answer_must_not_match`: regular expressions
  matched without regard to case against the final answer, published as
  `assertion-vis-answer`. A typographic apostrophe reads as a plain one.
- `format_intents`: how a metric's numbers must read. The agent's own
  `format_example` from the chart tool call is read back against the
  intent and compared as a number, so `#,##0.0M` showing 4,221,301,265.5M
  for "in millions" fails (GDAI-2592). Published as `assertion-vis-format`.
- `requires_visualization_part`: the chart must come back as a part of the
  answer, not only as tool arguments. Published as
  `assertion-vis-part-present`.

`expectation_options()` reads and validates these keys before any
request, and rejects a key it does not know, at item level or on a
candidate chart, so a misspelled key cannot pass unchecked. Every key is
opt-in, so existing items score as before. A run keeps the final answer
text, and the failure summary shows it when an answer check fails.

JIRA: QA-29722
risk: nonprod

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Extend more cases for extended charts
@yenkins-admin
yenkins-admin merged commit 54c551e into rel/dev Oct 26, 2026
1 check passed
@yenkins-admin
yenkins-admin deleted the snapshot-master-71c9de7f-to-rel/dev branch October 26, 2026 03:25
@coderabbitai

coderabbitai Bot commented Oct 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
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 8468089a-fb6b-43f1-81dc-86f0043cc9e5

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
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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

@codecov

codecov Bot commented Oct 26, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 99.76959% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 85.65%. Comparing base (1d27d3f) to head (71c9de7).
⚠️ Report is 628 commits behind head on rel/dev.

Files with missing lines Patch % Lines
...src/gooddata_eval/core/evaluators/visualization.py 99.18% 1 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff             @@
##           rel/dev    #1901      +/-   ##
===========================================
+ Coverage    85.31%   85.65%   +0.34%     
===========================================
  Files          342      343       +1     
  Lines        24670    25069     +399     
===========================================
+ Hits         21046    21472     +426     
+ Misses        3624     3597      -27     

☔ 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