Skip to content

FEAT GUI: Configure a scenario from selected dataset examples #2759

Open

Description

@romanlutz

Is your feature request related to a problem? Please describe.

Several examples should lead to one explicitly configured scenario, not concatenated Chat, repeated launches or another configuration page. The missing UI is exact multi-page selection and handoff into existing Scanner.

Part of #2744. Depends on #2760 and #2757. Keep not ready yet until promoted. Provider loading is release priority, not a technical prerequisite for stored examples.

Describe the solution you'd like

Add multi-select with selected-versus-visible counts and review/remove/clear controls. Retain dataset-scoped references and freshness from #2757 across pages. Page selection must not become select-all-matching. One example retains Chat import actions; independent examples never become one draft.

Configure scenario opens the existing Scanner form with exact selections, prompt sending and no additional converters. Retain source objectives and collect required missing objectives. Keep selections reviewable; source/cap/filter controls must not replace or resample them.

Reuse target/scorer controls, parameters, estimates, confirmation, queue/progress/history and source-pinned scorer references. Show compatibility/default/setup guidance from shared backend/core policy, not a browser table or general scorer builder. Invalid explicit choices remain errors.

Preserve selection/filters/cursor/return context on cancel/navigation. Selecting or opening/estimating must not call targets, load providers or create a dataset. Launch requires explicit confirmation and duplicate-submit protection.

Acceptance criteria:

  • Multi-page selections can be reviewed/removed/cleared without hidden examples, lost dataset scope or stale-content substitution.
  • Missing objectives and stale/invalid selections or scorers have clear validation; incompatible work is not silently dropped.
  • Preview/estimate/launch retain the same population/configuration; default execution is prompt sending only, no extra converters or duplicate baseline.
  • Cancel/Back/runtime changes preserve or clearly invalidate the correct state; launch uses existing progress/history.
  • Component/routing tests cover selection/handoff/errors. Real-backend local fixtures verify multi-page exact-N execution, objectives, confirmation/no accidental sends and return state without privileged datasets or paid calls.
  • Update the GUI guide for this milestone, not at the end of the series.

Describe alternatives you've considered, if relevant

No second launch page, batch Chat, copied persistent dataset, generated Python, general scorer builder or new provider controls. Optional per-technique converter UI #2758 must not block this default flow.

Additional context

Start with Datasets browser state, ScenarioDetail, shared estimate/launch inputs, Scenario-mode ChatScorerPicker and scenariosApi. Coordinate with open #3526/#2653 rather than assuming that decomposition is merged or growing competing form state.

Descriptions/evidence/condition metadata, configured scorer references, core defaults, named-source controls and single-technique editors already exist. Add only missing selection-specific guidance/projections. #2760/shared core owns compatibility and result meaning. Scope narrowed November 4, 2026.

Metadata

Metadata

Assignees

No one assigned

    Labels

    GUIUmbrella label for all feedback submitted via the Co-PyRIT GUIfeature-requestnot ready yetThis issue needs more definition or is blocked by a pending change.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions