Repository navigation
FEAT: Add dataset example table and seed detail view - #3163
Roman Lutz (romanlutz) merged 7 commits into
Conversation
An empty or not-ready runtime id is unknown, so refresh keeps the cursor and open example. A mismatched example id shows a not-found message with a way back, and the seeded browser test reads the local jailbreak templates from the real backend.
Roman Lutz (romanlutz)
left a comment
There was a problem hiding this comment.
Reviewed commit 088119a against the PR diff and #2745 acceptance criteria. The read-only API integration is appropriately scoped, but three reproduced navigation/recovery issues need fixing: keyboard access when the selected example is off-page, runtime invalidation through DatasetSelection, and recovery from a rejected cursor. Details are inline.
|
Screenshots of commit DesktopDataset summary, filters, example table, and pagination at 1440 x 1100, with three examples per page: Expanded example detail, including stored metadata, declared parameters, raw template text, and copy controls: MobileCaptured at 390 x 844 with touch input enabled. The table and detail screenshots show the current narrow-screen layout as rendered, including its cramped columns and heavily wrapped identifiers. |
Give the first visible Show example button a tab stop when the open example is not on the page, so arrow keys stay reachable. Remember the runtime generation on the selection page while the catalog reloads, without dropping a direct-link page at startup. Restart from the first page only after a rejected cursor is dismissed, and keep the current filters.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: b12ca8cc-2040-41d9-a48c-a8c25ea41aa1
Preserve readable table columns within horizontal scrolling and stack detail fields on narrow viewports. Cover the layouts in browser regressions and allow real-backend assertions to wait for runtime initialization. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: b12ca8cc-2040-41d9-a48c-a8c25ea41aa1





Closes #2745
Summary
Extends the selection page shipped in #3071 (
/datasets/detail?selection_key=) with a read-only, paginated table of logical examples and an expandable detail view, consuming the browsing API from #2748 through typeddatasetsApimethods.GET /api/datasets/seeds?selection_key=; members load only on expansion viaGET /api/datasets/seeds/{example_id}?selection_key=. The catalog never prefetches seed pages.searchplusmodality,seed_type, andharm_categoryfacets. Catalogq,sort, andunlabeledare not forwarded.limit(default 20),has_more,next_cursor; visited cursors kept for Previous.frontend/README.md.Out of scope
Media previews (#2749), chat import (#2751), scenario multi-select (#2759).
Tests and Documentation
SeedExampleBrowser,seedExampleQuery,DatasetSelection,DatasetCatalog.datasets.spec.ts: paging, expansion, return path, missing key, mismatched id, 390px wrapping, 44px touch targets.datasets.seeded.spec.ts(@seeded): open a stored example, paginate withlimit=1, keep second-page selection after refresh.test_config.yamlpreloads the bundledjailbreak_templates, so startup needs no downloads or model calls.Validation completed during this work: frontend and Python lint passed; frontend
tscand Python source typing passed;datasets.spec.tspassed 70/70 across 10 repeats with retries=0; frontend unit tests passed 2,898/2,898 across 115 suites; pytest reported 26,729 passed and 11 skipped. The branch merges cleanly with the fetched main.Both real-backend dataset tests passed. On this Mac, the full
@seededsuite reported 86 passed and two failures in existing converter tests caused by their Home/End keyboard shortcuts. A local macOS shortcut adjustment produced 88/88 with retries=0; that converter-test adjustment is excluded from this PR, so 88/88 is not claimed for088119a9.The broader Python typing command
ty check pyrit tests/unitreports 120 diagnostics in unchanged unit-test files;ty check pyritpasses.No notebooks changed.