{{ ui_lang.catalog_heading|default('Catalog') }}
{{ ui_lang.catalog_lede_1|default('Find') }} {{ ui_lang.catalog_lede_what|default('what to review') }} {{ ui_lang.catalog_lede_2|default('by similarity. Build an embedding index over your items, search for traces like a given query or example, and save') }} {{ ui_lang.catalog_lede_slices|default('dynamic slices') }} {{ ui_lang.catalog_lede_3|default('— semantic + metadata filters that auto-include new matching traces and can be curated into a dataset.') }}
{% if not embeddings_available %}sentence-transformers
{{ ui_lang.catalog_embeddings_warn_2|default('(or configure an embedder) to build the index.') }}{{ ui_lang.catalog_index_heading|default('Index') }}
{{ ui_lang.catalog_search_heading|default('Similarity search') }}
{{ ui_lang.catalog_discover_heading|default('Discover failure modes') }}
{{ ui_lang.catalog_discover_desc|default('Cluster the indexed traces and let the judge propose a candidate failure-mode label per cluster (a project-specific taxonomy you then confirm or edit).') }}
{{ ui_lang.catalog_topics_heading|default('Topics') }}
{{ ui_lang.catalog_topics_desc|default('Persisted pattern groups: refresh re-clusters the indexed traces into named topics (LLM-suggested names when a judge is configured), and newly ingested traces are auto-assigned to the nearest topic. Curate any topic into a dataset.') }}
| {{ ui_lang.catalog_th_topic|default('Topic') }} | {{ ui_lang.catalog_th_description|default('Description') }} | {{ ui_lang.catalog_th_size|default('Size') }} | {{ ui_lang.catalog_th_actions|default('Actions') }} |
|---|---|---|---|
| {{ t.name }} | {{ t.description }} | {{ t.size }} |
{{ ui_lang.catalog_no_topics|default('No topics yet — refresh to discover them.') }}
{% endif %}{{ ui_lang.catalog_slices_heading|default('Dynamic slices') }}
| {{ ui_lang.catalog_th_slice|default('Slice') }} | {{ ui_lang.catalog_th_query_anchor|default('Query / anchor') }} | {{ ui_lang.catalog_th_threshold|default('Threshold') }} | {{ ui_lang.catalog_th_actions|default('Actions') }} |
|---|---|---|---|
| {{ s.name }} | {{ s.query or s.anchor_id or ui_lang.catalog_all_placeholder|default('(all)') }} | {{ '%.2f'|format(s.threshold) }} |
{{ ui_lang.catalog_no_slices|default('No slices saved yet.') }}
{% endif %}