Repository navigation
1.9.0: Scenarios — rename Catalogs, edit in the dashboard, generate from a project's browser, export and import - #586
Merged
Merged
Conversation
TonsOfFun
force-pushed
the
feat/claude-code-boot-setup
branch
from
October 14, 2026 20:32
85ae163 to
46add98
Compare
TonsOfFun
force-pushed
the
feat/scenarios-dashboard
branch
from
October 14, 2026 20:53
9f4e3e7 to
e035930
Compare
TonsOfFun
marked this pull request as ready for review
October 14, 2026 21:09
…xport and import The Catalogs page becomes Scenarios (/catalogs redirects there), and a collection can now be built and changed in the dashboard rather than only imported: - Products, sets and scenarios are created, edited and deleted in place (ScenarioCatalogEntriesController). Each change is checked as an import checks a document and rewrites the collection's YAML and digest. - Generate runs the project's explorer in its sandbox's browser, shows the browser live, and accepts the exploration's candidates into a chosen set (Exploration#accept_into_set!), so project explorations and generated scenarios are the same records. - Any part of a collection exports as YAML (download or copy), and an import is previewed by key (created, overwritten, removed or kept) before it is applied. A merge mode keeps what the document leaves out, so an exported selection imports back without touching the rest. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CJAKwnkBaCGr5qjCcmc3kh
The live test found the scenario form's prompt and notes boxes read as an unnamed "textbox": a textarea inside a flex label lost its name. Field and Select now tie their label to the control by id and give it an aria-label. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CJAKwnkBaCGr5qjCcmc3kh
Deleting a collection asks for its key to be typed; deleting a product, set or scenario is a plain Confirm/Cancel. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CJAKwnkBaCGr5qjCcmc3kh
TonsOfFun
force-pushed
the
feat/scenarios-dashboard
branch
from
October 15, 2026 00:13
e035930 to
bad461d
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Release: 1.9.0. Scenario catalogs are new in 1.9, so the rename and dashboard management ship with them. No
browser-sidecar/changes, and nothing depends on the live view's file upload (#588, 1.9.1); the Generate tab usesBrowserPanelas #584 has it.Stacked on #584 (base
feat/claude-code-boot-setup), rebased onto its reworked tip without the upload commit, so this diff shows only the Scenarios work. Retarget tomainonce #584 merges. Green CI also needs #587 (ruby_llm 2.1.1 breaks two eval tests onmain).What changes
Rename: "Catalogs" is now Scenarios in the sidebar, page and copy, at
/scenarios, and/catalogsredirects there. The database, the API and the YAMLcatalog:key are unchanged, so existing documents still import.Editing in the dashboard: create an empty collection, then add, edit and delete products, sets and scenarios in place. A scenario has a prompt, notes as the rubric, expected tools, contains / never contains, tags, enabled and production-only. Every change is checked the same way an import checks a document, and the collection's YAML is rewritten.
Generate tab:
Export: the whole collection, or any checked products, sets and scenarios, as a YAML download or copied to the clipboard.
Import:
.activeagents/evals.Accessibility (
e0359309): the scenario form's prompt and notes boxes (and everyField/Select) tie their label to the control by id and carry anaria-label. The live test found screen readers reading them as an unnamed "textbox".Live test (integration build of #584 + #586)
Import preview and apply, adding a scenario, the export round trip and the Generate tab UI all passed. The unnamed text boxes were the only finding, fixed above.
Tests (Ruby 4.0.6), after the rebase
Open questions
Review note with how to test: activeagents
docs/features/scenarios-dashboard.md.🤖 Generated with Claude Code
https://claude.ai/code/session_01CJAKwnkBaCGr5qjCcmc3kh