Skip to content

FIX: filter legacy identifier layouts like the displayed attack type - #4287

Open
Manohar Paturi (ManoharPaturi) wants to merge 1 commit into
microsoft:mainfrom
ManoharPaturi:fix/legacy-identifier-layout-filters
Open

Manohar Paturi (ManoharPaturi) wants to merge 1 commit into
microsoft:mainfrom
ManoharPaturi:fix/legacy-identifier-layout-filters

Conversation

@ManoharPaturi

Copy link
Copy Markdown
Contributor

Description

Fixes #4282

The attack class and converter filters and the two options endpoints now read both stored identifier layouts. The SDK falls back to children.attack for rows written before the nested structure existed and displays their type, and analytics already resolves the same fallback, so:

  • filtering by an attack class now also matches the legacy spelling of the class name;
  • converter filters check the legacy request converter list as well, and a row only counts as converter free when neither layout carries any, which keeps the empty list absence overload working for wrapped rows;
  • both options queries (SQLite and Azure SQL) coalesce or union the two layouts, so the dropdowns offer the types the list displays.

Tests and Documentation

A regression in test_interface_attack_results.py, failing on main: a row stored with the legacy layout is found by its displayed attack class and its recorded converter, appears in both options lists, is kept by has_converters true, and stays out of has_converters false. The attack results, analytics metadata, and analytics suites pass (451 tests, apart from the preexisting operation id index case that fails identically on main). Ruff check and format are clean.

No documentation change needed, so I did not run JupyText.

Copilot AI balanced review requested due to automatic review settings November 14, 2026 05:15

Copilot AI 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.

Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota. Try requesting a review at a lower effort level.

This branch has not been deployed

No deployments
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.

Attack history filters and dropdowns miss rows stored with the legacy identifier layout

2 participants