Skip to content

feat: return data_source_info and data_source_detail_dict - #23

Open
tomerqodo wants to merge 3 commits into
sentry_only-issues-20260113-augment-codex-sentry_base_feat_return_data_source_info_and_data_source_detail_dict_pr179from
sentry_only-issues-20260113-augment-codex-sentry_head_feat_return_data_source_info_and_data_source_detail_dict_pr179
Open

feat: return data_source_info and data_source_detail_dict#23
tomerqodo wants to merge 3 commits into
sentry_only-issues-20260113-augment-codex-sentry_base_feat_return_data_source_info_and_data_source_detail_dict_pr179from
sentry_only-issues-20260113-augment-codex-sentry_head_feat_return_data_source_info_and_data_source_detail_dict_pr179

Conversation

@tomerqodo

Copy link
Copy Markdown

Benchmark PR from qodo-benchmark#179

"position": document.position,
"data_source_type": document.data_source_type,
"data_source_info": data_source_info,
"data_source_info": document.data_source_info_dict,

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Bug: The data_source_info field is populated with different data sources (data_source_detail_dict vs data_source_info_dict) depending on the metadata parameter, causing an inconsistent API response.
Severity: HIGH

Suggested Fix

To ensure a consistent API response, modify line 791 in api/controllers/console/datasets/datasets_document.py. Change "data_source_info": document.data_source_info_dict to "data_source_info": document.data_source_detail_dict. This will align the behavior for metadata="all" with the metadata="without" case and the service API implementation.

Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent.
Verify if this is a real issue. If it is, propose a fix; if not, explain why it's not
valid.

Location: api/controllers/console/datasets/datasets_document.py#L791

Potential issue: The `DocumentApi.get()` method populates the `data_source_info` field
in the API response inconsistently based on the `metadata` parameter. When `metadata` is
`"without"`, the field is assigned the value from `document.data_source_detail_dict`
(which contains enriched data). However, when `metadata` is `"all"`, the field is
assigned the value from `document.data_source_info_dict` (which contains raw data). This
discrepancy, located at line 791, contrasts with the service API's behavior, which
consistently uses `data_source_detail_dict`. This will cause the API to return different
data structures for the same field, potentially breaking client-side applications that
expect a consistent response format.

Did we get this right? 👍 / 👎 to inform future reviews.

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