Skip to content

FEAT: Add ScenarioSuite registry and one-click launch - #3490

Open
hannahwestra25 wants to merge 3 commits into
microsoft:mainfrom
hannahwestra25:hannahwestra25-scenario-suite-registry
Open

hannahwestra25 wants to merge 3 commits into
microsoft:mainfrom
hannahwestra25:hannahwestra25-scenario-suite-registry

Conversation

@hannahwestra25

@hannahwestra25 hannahwestra25 commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

Description

  • Adds ScenarioSuiteRegistry, modeled on ScenarioPresetRegistry, so code-registered read-only suites coexist with editable stored suites while preserving stored precedence and actionable registered-name conflicts.
  • Exposes suite and preset origin plus nullable versions; registered definitions use None, while stored definitions retain opaque optimistic-concurrency versions.
  • Routes suite CRUD, resolution, source configuration, and startup scanning through the registry while retaining ScenarioSuiteStorage as persistence.
  • Adds a process-local ScenarioSuiteExecutionService that preflights the complete reviewed suite/preset snapshot before accepting work, then submits ordinary scenario runs in suite order through ScenarioRunService.
  • Persists versioned scenario_suite_execution_v1 metadata atomically on each successful child ScenarioResult, without adding parent run records or database migrations.
  • Adds launch, grouped progress, and best-effort cancellation APIs plus runtime admission/shutdown integration.
  • Adds a launch dialog, registered/stored launch actions, ordered progress page, child-run links/backlinks, transient polling recovery, and cancellation UI.
  • Preserves stored-suite editing, optimistic concurrency, advisory status projection, authorization, existing scenario-run behavior, and current suite routes.
image image image

Tests and Documentation

Added backend coverage for registry resolution, optimistic snapshots, ordered submission, metadata, cancellation, lifecycle behavior, and import boundaries. Added frontend coverage for launch gating, stale-definition refresh, progress polling, cancellation, routing, and child-run backlinks. Updated suite configuration and startup-scanning documentation.

Validation passed: 590 backend/import tests and 200 frontend tests, Ruff, locked ty==0.0.89, TypeScript, ESLint, production build, whitespace checks, merge-conflict checks, and live preview. JupyText was not run because no notebooks changed.

Copilot AI added 3 commits October 23, 2026 09:01
Merge code-registered read-only suites with stored editable definitions and surface suite origin across the API and UI.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 2403a4a9-6af6-46b2-b371-46de73a018fd
Keep Fluent table-cell layout so descriptions and advisory issues determine row height instead of overflowing into an internal scrollbar.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 2403a4a9-6af6-46b2-b371-46de73a018fd
Add transient registry-backed suite execution with ordered scenario submission, optimistic definition snapshots, durable child metadata, progress polling, and cancellation.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 2403a4a9-6af6-46b2-b371-46de73a018fd
@hannahwestra25 hannahwestra25 changed the title FEAT: Add ScenarioSuite registry support FEAT: Add ScenarioSuite registry and one-click launch Oct 23, 2026

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.

2 participants