vc_007 · Descriptive analytics — single-table entity data

Status: ✓ Passing · Last run: 2026-06-04T06:54:33 · Pipeline: analyze · History: 4/6 runs passed (67%)

What was tested

The simplest possible analytical-chat scenario: one row per entity, one planted feature, a binary target, no time dimension. The analyze_agent is asked structural questions (row count, target distribution) whose expected answers are known directly from the case's planted_truth parameters — no realized-random-draw dependence. Distinct from vc_006 because the questions and expected facts are declared in this YAML rather than computed by the generator. Proves the framework supports analytical_report cases on any data shape, not just shapes whose generator happens to author the questions.

What we planted in the data

What the system did

What we checked — all assertions passed

Status Assertion Detail
tool_was_used agent used profile_data in session up through 'q_target_column'
answer_includes_number_near answer contains 32.00, within 20% of expected 30.00
tool_was_used agent used profile_data in session up through 'q_target_column'
answer_includes_number_near answer contains 32.00, within 20% of expected 30.00
tool_was_used agent used profile_data in session up through 'q_target_column'
answer_mentions_fact all expected facts present in answer to 'q_target_column'

How this could have gone wrong

Why this case matters

Without this case, every analytical_report test relies on the entity_with_segments shape — a richer but narrower scenario. Many real customers ship data closer to entity_static (one row per account, no segments, simple features). This case confirms the chat surface handles that baseline shape, and exercises the case-level questions: declaration path so future cases on other shapes (panel, multi-table, event) are unblocked.

Reproducing

# from auto_insight_api/
python -m validation.v2 run vc_007 --pipeline analyze -v

← back to validation report