Skip to content

FEAT GUI: Add optional per-technique converter composition #2758

Open

Description

@romanlutz

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

After the default exact-selection flow, users may want ordered extra converters per compatible technique. Scanner already has technique selection and a single-technique editor with converter chains. The gap is additive per-technique mapping and default prompt-sending integration.

Optional shared Scanner extension under #2744, after #2759. Keep not ready yet until separately promoted. It does not block #2761 or essential explorer/provider/exact-selection completion.

Describe the solution you'd like

Reuse TechniqueEditor, ConverterChainField, useRunTechniqueEditor, registries and ScenarioConfigurationResolver.resolve_techniques_and_converters. Add only missing compatible additive mapping/default-path integration.

Preserve converter order and intended technique association. Technique-owned converters differ from caller extras; an empty extra list must not strip built-in behavior. Extra converters must reach the prompt-sending default as well as supported additional techniques.

Honor factory support, target modalities, adversarial/scoring dependencies and exact-selection requirements. Reject unsupported combinations rather than skip selected work or silently change content. Shared typed resolution must keep estimate and launch consistent.

Acceptance criteria:

  • Untouched selected-example configuration remains prompt sending only, no additional converters.
  • Supported ordered extras reach intended paths, including default prompt sending, without replacing owned converters.
  • Mapping/order and source identity survive edits identically in estimate/launch.
  • Unsupported composition, stale configuration and missing dependencies are explicit errors.
  • Other scenario defaults/baseline policies remain intact; tests detect accidental duplicate baseline execution.
  • Focused UI/service and applicable real-backend extension tests use local fixtures; update the existing guide when this optional feature ships.

Describe alternatives you've considered, if relevant

No new editor, browser-run converters, hardcoded attack catalog, arbitrary Python, general scorer builder or replacement form. Do not delay default selected-example delivery or its coverage for this extension.

Additional context

This is no longer on the essential completion path. #2761 can finish after #2752/#2756/#2759 without it. Retain dependency on #2759 and require a later maintainer promotion.

Coordinate with #2653/#3526 and follow shared framework/frontend/scenario/converter contracts. Optional scope approved November 4, 2026 against main c756e7f8f2b8e24987907ec4691ec0c54a0b0677.

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