Skip to content

Per-mode 'Saved Configs' / Presets (distinct from cross-workflow favorites) #140

@thomas-stegemann

Description

@thomas-stegemann

Why

Two concepts have been conflated under "favorites" in the workbench's evolution:

  1. A favorited resource — URI + method + a request shape. Protocol-independent, cross-workflow. ("This /pets endpoint matters to me.")
  2. A named workflow configuration — a complete setup for one workflow. Bench params, scan profile, mock setup, parallel-session config. Workflow-specific. ("My standard 100-session p95 bench against staging.")

Concept #1 lives at the cross-workflow level — split out to #139's Home/Launchpad design.

Concept #2 lives per-workflow. This issue is about #2.

Proposal — per-mode "Saved Configs" (Profiles / Presets / Templates)

Every workflow mode that has a setup form gets a small "Saved configs" affordance:

Storage

Per-mode store under bowire_presets_<mode> (localStorage today; per-workspace store once #116 lands). Each preset entry:

{
  "id": "uuid",
  "name": "100-session staging p95",
  "createdAt": "...",
  "lastUsedAt": "...",
  "config": { /* mode-specific config blob */ }
}

UI

  • A "Save preset…" button at the bottom of each workflow's setup form.
  • A picker at the top: "Load preset…" → dropdown of saved configs for this mode.
  • A small "★ Set as default" toggle per preset — default config auto-applies on mode entry.

Distinct from favorites

  • Favorites = resource markers (cross-workflow, single store, bowire_favorites).
  • Presets = workflow configs (per-mode, bowire_presets_<mode>).
  • Naming uses "preset" / "profile" in the UI — never "favorite" — to avoid confusion.

Acceptance

  • Each workflow mode with a setup form supports saving + loading presets.
  • Per-mode localStorage slot (bowire_presets_<mode>).
  • "Save preset…" + "Load preset…" + "Set as default" affordances.
  • Presets appear in their mode's sidebar list (peer with the mode's other items).
  • No naming conflict with favorites: docs + UI consistently use "preset" / "profile" / "template" — never "favorite" for this concept.

Composes with

Out of scope

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:workbenchUI / workbench surfaceroadmapTracked on the public Project board

    Type

    No type
    No fields configured for issues without a type.

    Projects

    Status
    No status

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions