Skip to content

[DRAFT] FEAT Add expandable paired outcome transition details - #3390

Closed
Dev3 ^~^ (shashank03-dev) wants to merge 3 commits into
microsoft:mainfrom
shashank03-dev:shashanks-Agent/paired-outcome-drilldown
Closed

Dev3 ^~^ (shashank03-dev) wants to merge 3 commits into
microsoft:mainfrom
shashank03-dev:shashanks-Agent/paired-outcome-drilldown

Conversation

@shashank03-dev

@shashank03-dev Dev3 ^~^ (shashank03-dev) commented Oct 20, 2026 •

Copy link
Copy Markdown
Contributor

Description

Closes #3389, following merged #3337. Scenario run results show paired outcome counts, but users need to inspect the objectives and conversations behind each transition. Each transition can now be expanded and collapsed to load its matching pairs on demand.

  • Show each objective, logical seed, saved prompt pieces, baseline/attack outcomes, reasons, and timestamps. Conversation links use existing routes and retain Scenario context.
  • Reuse the aggregate backend pairing and compatibility checks, including latest top-level completions, exclusions, retries, and compound children. Child attempts never become extra observations.
  • For a compound completion without its own conversation, provide a clearly labelled child-conversation link while preserving the compound outcome. Prefer the last linked conversation matching the parent outcome; otherwise use the last linked conversation.
  • Load 25 pairs at a time (API maximum 100), in stable seed order, with validated cursors scoped to the run, selected groups, and transition. Seed digests keep cursors within the API bound even for long or Unicode IDs.
  • Handle loading, empty results, retryable failures, cancellation, selection changes, late responses, collapse/re-expansion, keyboard navigation, and narrow screens. Pagination restores focus to newly loaded pairs; mobile Retry controls meet the existing touch-target minimum.

No new dependencies or schema migrations.

Tests and Documentation

  • Full Python suite: 30,293 passed, 12 skipped (make unit-test).
  • Full frontend suite: 142 suites and 3,408 tests passed.
  • Focused analytics/API tests: 89 passed.
  • PairedOutcomes interaction tests: 20 passed, including Strict Mode cancellation, late responses, retries, pagination, multimodal prompts sharing a sequence, and compound conversation links.
  • Playwright: 6 passed, exercising the GUI → API → disposable real SQLite flow, both conversation routes, long seed IDs, 320px mobile layout (including wrapped error messages), keyboard pagination, and recovery from a real offline network failure.
  • ESLint, frontend and Python type checks, Ruff lint/format checks, production build, documentation structure validation, pre-commit hooks, and Git whitespace checks passed.

The existing two ScenarioDetail dataset-replacement tests queried the page before Fluent UI restored accessibility after cancelling Run preview. Their reopen action now waits for the accessible Launch scan button; modal production behavior is unchanged.

Updated doc/gui/0_gui.md with usage guidance and actual desktop/mobile screenshots. No notebooks or executable documentation examples changed; JupyText execution was not run. Existing build/dependency warnings remain (Vite chunk size/config compatibility and Pydantic field-name warnings).

Desktop

Expanded paired outcomes on desktop

Mobile

Focused capture of one expanded transition (272 × 452), without app-chrome overlap or blank space. Mobile metrics use two columns, transition labels retain room beside right-aligned counts, and detail padding adapts to narrow screens.

Expanded paired outcomes on mobile

@shashank03-dev
Dev3 ^~^ (shashank03-dev) deleted the shashanks-Agent/paired-outcome-drilldown branch October 20, 2026 10:02
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.

[BLOCKED] FEAT: Drill into paired Scenario outcome conversations

1 participant