From 5a53d333b70dd782fd7fa08b20cc41b48b9f094b Mon Sep 17 00:00:00 2001 From: Rod Date: Wed, 26 Aug 2026 17:11:33 -0700 Subject: [PATCH 1/5] Document Record Grouping and Inventory Segments Adds a Manage inventory segments task page and documents the Group By control on the inventory, artifact, and validation issue listings, including the table-view constraint and saved-view persistence. Updates the shared saved-view and filter includes, the inventory FAQ, the analytics dataset options, and the chatbot product map. sc-18067 Co-Authored-By: Claude Fable 5 --- site/faq/faq-inventory.qmd | 19 +- site/guide/_sidebar.yaml | 1 + .../inventory/customize-inventory-layout.qmd | 19 +- .../inventory/manage-inventory-segments.qmd | 181 ++++++++++++++++++ .../inventory/setting-up-the-inventory.qmd | 1 + .../inventory/working-with-the-inventory.qmd | 52 ++++- .../reporting/_create-a-visualization.qmd | 2 + site/guide/shared/_work-with-filters.qmd | 2 + .../manage-views/_personal-table-views.qmd | 4 +- .../validation/customize-artifact-layouts.qmd | 6 +- .../validation/view-filter-artifacts.qmd | 29 +++ ...chatbot-product-map-frontend-snapshot.json | 74 +++++-- site/llm/chatbot-product-map.md | 143 ++++++++------ site/scripts/generate_chatbot_product_map.py | 14 +- 14 files changed, 456 insertions(+), 91 deletions(-) create mode 100644 site/guide/inventory/manage-inventory-segments.qmd diff --git a/site/faq/faq-inventory.qmd b/site/faq/faq-inventory.qmd index 81e411ec56..bbc2743e67 100644 --- a/site/faq/faq-inventory.qmd +++ b/site/faq/faq-inventory.qmd @@ -41,20 +41,21 @@ By default, the [{{< fa hand >}} Customer Admin]{.bubble} role has sufficient pe ## Can the {{< var vm.product >}} inventory be customized? - Yes, information that is displayed on the inventory is configurable.[^4] -- You can also search, filter, and sort records (such as models) to narrow down results.[^5] -- Fields that appear on records can also be customized.[^6] +- You can also search, filter, and sort records (such as models) to narrow down results,[^5] and group the table view into collapsible sections by field.[^6] +- Administrators can save inventory filters as named, reusable segments and publish them for the entire organization.[^7] +- Fields that appear on records can also be customized.[^8] {{< include _faq-document-updates.qmd >}} ## Can I archive or delete records within {{< var vm.product >}}? -Yes, records (such as models) can be archived within the {{< var validmind.platform >}} inventory to keep your inventory accurate and up to date with your organization’s current resources.[^7] +Yes, records (such as models) can be archived within the {{< var validmind.platform >}} inventory to keep your inventory accurate and up to date with your organization’s current resources.[^9] By default, the [{{< fa hand >}} Customer Admin]{.bubble} role has sufficient permissions to archive and delete records. ## Can I track interdependencies within the inventory? -- Yes, the {{< var validmind.platform >}} allows you to connect two or more records (models) together in your inventory.[^8] +- Yes, the {{< var validmind.platform >}} allows you to connect two or more records (models) together in your inventory.[^10] - You can note both upstream and downstream records. By default, the [{{< fa code >}} Developer]{.bubble} role has sufficient permissions to edit record interdependencies. @@ -83,8 +84,12 @@ By default, the [{{< fa code >}} Developer]{.bubble} role has sufficient permiss [^5]: [Working with the inventory](/guide/inventory/working-with-the-inventory.qmd#search-filter-and-sort-records) -[^6]: [Customize record overview page](/guide/inventory/customize-record-overview-page.qmd) +[^6]: [Working with the inventory](/guide/inventory/working-with-the-inventory.qmd#group-records) -[^7]: [Archive and delete records](/guide/inventory/archive-delete-records.qmd) +[^7]: [Manage inventory segments](/guide/inventory/manage-inventory-segments.qmd) -[^8]: [Configure record interdependencies](/guide/inventory/configure-record-interdependencies.qmd) \ No newline at end of file +[^8]: [Customize record overview page](/guide/inventory/customize-record-overview-page.qmd) + +[^9]: [Archive and delete records](/guide/inventory/archive-delete-records.qmd) + +[^10]: [Configure record interdependencies](/guide/inventory/configure-record-interdependencies.qmd) \ No newline at end of file diff --git a/site/guide/_sidebar.yaml b/site/guide/_sidebar.yaml index a01456f144..b6efc80bb4 100644 --- a/site/guide/_sidebar.yaml +++ b/site/guide/_sidebar.yaml @@ -88,6 +88,7 @@ website: contents: - guide/inventory/manage-inventory-record-types.qmd - guide/inventory/manage-inventory-fields.qmd + - guide/inventory/manage-inventory-segments.qmd - guide/inventory/record-intake.qmd - text: "Working with the inventory" file: guide/inventory/working-with-the-inventory.qmd diff --git a/site/guide/inventory/customize-inventory-layout.qmd b/site/guide/inventory/customize-inventory-layout.qmd index 0a5bc8ec8f..89d7a824ce 100644 --- a/site/guide/inventory/customize-inventory-layout.qmd +++ b/site/guide/inventory/customize-inventory-layout.qmd @@ -39,6 +39,7 @@ In the left sidebar, click **{{< fa cubes >}} Inventory**: #### Table view - To display the inventory in table view, click **{{< fa table >}} Display Table**. - Columns on the table view can be customized.[^2] +- Records on the table view can also be grouped into collapsible sections by field.[^3] ::: @@ -48,7 +49,7 @@ In the left sidebar, click **{{< fa cubes >}} Inventory**: Changes are automatically saved to your account and do not affect other users. ::: -In addition to sorting and filtering the inventory,[^3] you can add or remove columns and customize the order the columns appear on your table view:[^4] +In addition to sorting, filtering, and grouping the inventory,[^4] you can add or remove columns and customize the order the columns appear on your table view:[^5] 1. In the left sidebar, click **{{< fa cubes >}} Inventory**. @@ -56,13 +57,13 @@ In addition to sorting and filtering the inventory,[^3] you can add or remove co - Search for a column name in the list to narrow down results. - Toggle visibility for each item and drag each option to change the order. - - Available columns are determined by your inventory fields.[^5] + - Available columns are determined by your inventory fields.[^6] -Once customized, you can save views for later application for each type of record in your inventory.[^6] +Once customized, you can save views for later application for each type of record in your inventory.[^7] ### Manage custom inventory views -You can save custom table configurations as a view to reapply at any time: +You can save custom table configurations — including your columns, filters, sorting, and grouping — as a view to reapply at any time: #### Manage personal inventory views @@ -79,10 +80,12 @@ You can save custom table configurations as a view to reapply at any time: [^2]: [Customize table view](#customize-table-view) -[^3]: [Working with the inventory](working-with-the-inventory.qmd#search-filter-and-sort-records) +[^3]: [Working with the inventory](working-with-the-inventory.qmd#group-records) -[^4]: [Swap between views](#swap-between-views) +[^4]: [Working with the inventory](working-with-the-inventory.qmd#search-filter-and-sort-records) -[^5]: [Manage inventory fields](manage-inventory-fields.qmd) +[^5]: [Swap between views](#swap-between-views) -[^6]: [Manage custom inventory views](#manage-custom-inventory-views) +[^6]: [Manage inventory fields](manage-inventory-fields.qmd) + +[^7]: [Manage custom inventory views](#manage-custom-inventory-views) diff --git a/site/guide/inventory/manage-inventory-segments.qmd b/site/guide/inventory/manage-inventory-segments.qmd new file mode 100644 index 0000000000..2af24d1e6c --- /dev/null +++ b/site/guide/inventory/manage-inventory-segments.qmd @@ -0,0 +1,181 @@ +--- +# Copyright © 2023-2026 ValidMind Inc. All rights reserved. +# Refer to the LICENSE file in the root of this repository for details. +# SPDX-License-Identifier: AGPL-3.0 AND ValidMind Commercial +title: "Manage inventory segments" +date: last-modified +includes: + inventory: true +--- + +Save a set of inventory filters as a named, reusable segment that spans every inventory record type, then publish the segment so everyone in your organization can filter the inventory with it. + +::: {.attn} + +## Prerequisites + +- [x] {{< var link.login >}} +- [x] There are records registered in the inventory.[^1] +- [x] You are a [{{< fa hand >}} Customer Admin]{.bubble} or assigned another role with sufficient permissions to perform the tasks in this guide.[^2] + +::: + +## Key concepts + +*Inventory segments* are named, reusable filters over your inventory records: + +- A segment spans every inventory record type in your organization. Record types added later are automatically in scope, so a segment never needs to be updated when your inventory grows. +- Matching records are evaluated live — a segment always reflects the current state of your inventory, and users only see the matching records they have permission to view. +- A segment starts as a personal [Draft]{.bubble}. Publishing it makes it available to your entire organization. + +::: {.callout title="Note that segments differ from saved views and grouping."} +- **Segments** — Named filters managed by administrators in the organization settings, reusable by everyone once published. +- **Saved views** — Personal or shared table configurations that capture the columns, filters, sorting, and grouping applied to a listing.[^3] +- **Grouping** — A listing layout option that organizes a table view into collapsible sections by field.[^4] +::: + +## Add segments + +::: {.callout} +By default, only the [{{< fa hand >}} Customer Admin]{.bubble} role can add segments. To let other roles add segments, grant the Add Inventory Segment permission to those roles.[^5] +::: + +1. In the left sidebar, click **{{< fa gear >}} Settings**. + +2. Under {{< fa cube >}} Inventory, select **Inventory Segments**. + +3. Click **{{< fa plus >}} Add Segment**. + +4. On the Add New Segment dialog that opens, enter the **Segment Name** and an optional **Description**. + +5. Click **Add Segment**. + + The detail page for your new segment opens, where you define the segment conditions. + +### Define segment conditions + +1. On your segment's detail page, click **{{< fa filter >}} Filter**. + +2. On the Edit Segment Conditions dialog that opens, enter the conditions that records must match to belong to the segment: + + - Inventory Record Type is available as a condition, so you can scope a segment to specific record types. + - A segment cannot reference another segment, so Segment is not offered as a condition field here. + +::: {.callout-button .pl4 .nt4} +::: {.callout collapse="true" appearance="minimal"} +### How do I create effective filters? + +{{< include /guide/shared/_work-with-filters.qmd >}} +::: +::: + +3. Click **Apply Filters**. + + Your conditions appear as chips next to Filtered by, and the list of matching records updates live along with the matching record count. + +4. In the page header, click **Save Changes** to save the conditions to the segment, or **Cancel** to discard your edits. + +::: {.callout-important title="Saving conditions to a published segment changes its results for everyone."} +A published segment is evaluated live wherever it is used, including inventory filters and analytics datasets. When you save condition changes to a published segment, confirm the change by clicking **Yes, Save Changes**. +::: + +## Publish segments + +Publishing makes a segment available to everyone in your organization. You can continue editing a segment after it is published. + +1. In the left sidebar, click **{{< fa gear >}} Settings**. + +2. Under {{< fa cube >}} Inventory, select **Inventory Segments**. + +3. On the actions menu for your segment, click **Publish Segment**. + +4. Click **Publish Segment** to confirm. + +Each segment shows one of the following statuses: + +| Status | Description | +|--------|-------------| +| [Draft]{.bubble} | Personal to you — visible only to you and not yet offered where segments are used. | +| [Published]{.bubble} | Available to everyone in your organization. | +| [Archived]{.bubble} | Permanently retired — an archived segment cannot be edited, published, or restored. | + +: Segment statuses {.hover} + +::: {.callout title="Note that your organization starts with an example segment."} +Every organization includes an All Inventory Records segment managed by {{< var vm.product >}}. This example segment cannot be edited or unpublished, but it can be deleted. +::: + +## Edit segments + +To rename a segment or update its description: + +1. In the left sidebar, click **{{< fa gear >}} Settings**. + +2. Under {{< fa cube >}} Inventory, select **Inventory Segments**. + +3. On the actions menu for your segment, click **Edit Segment**. + +4. Update the **Segment Name** or **Description**, then click **Save Changes**. + +To edit the conditions of a segment, open the segment and update its filters.[^6] + +## Unpublish, archive, or delete segments + +::: {.callout-important} +Archiving and deletion of segments are permanent. +::: + +1. In the left sidebar, click **{{< fa gear >}} Settings**. + +2. Under {{< fa cube >}} Inventory, select **Inventory Segments**. + +3. On the actions menu for your segment, click one of: + + - **Unpublish Segment** — Returns the segment to a personal draft. The segment is no longer offered where segments are used. Click **Yes, Unpublish Segment** to confirm. + - **Archive Segment** — Permanently retires the segment. An archived segment cannot be edited, published, or restored. Click **Yes, Archive Segment** to confirm. + - [**Delete Segment**]{.red} — Permanently deletes the segment. The inventory records it matched are not affected. Click **Yes, Delete Segment** to confirm. + +## Apply segments as inventory filters + +Once a segment is published, anyone in your organization can filter the inventory by it: + +1. In the left sidebar, click **{{< fa cubes >}} Inventory**. + +2. Click **{{< fa filter >}} Filter**. + +3. Click **{{< fa plus >}} Add Rule**, then select **Segment** from the field selector. + +4. Select the segment to filter by. + + You can combine a segment rule with other rules, such as an Inventory Record Type condition, to narrow down results further.[^7] + +5. Click **Apply Filters**. + +## Use segments in analytics + +Published segments are also available as datasets for visualization widgets on your analytics pages, listed under Inventory Segments in the dataset selector.[^8] + +## What's next + +- [Working with the inventory](working-with-the-inventory.qmd) +- [Customize inventory layout](customize-inventory-layout.qmd) +- [Working with analytics](/guide/reporting/working-with-analytics.qmd) + + + + +[^1]: [Register records in the inventory](register-records-in-inventory.qmd) + +[^2]: [Manage permissions](/guide/configuration/manage-permissions.qmd) + +[^3]: [Customize inventory layout](customize-inventory-layout.qmd#manage-custom-inventory-views) + +[^4]: [Working with the inventory](working-with-the-inventory.qmd#group-records) + +[^5]: [Manage permissions](/guide/configuration/manage-permissions.qmd) + +[^6]: [Define segment conditions](#define-segment-conditions) + +[^7]: [Working with the inventory](working-with-the-inventory.qmd#search-filter-and-sort-records) + +[^8]: [Working with analytics](/guide/reporting/working-with-analytics.qmd) diff --git a/site/guide/inventory/setting-up-the-inventory.qmd b/site/guide/inventory/setting-up-the-inventory.qmd index a46f196244..7779346224 100644 --- a/site/guide/inventory/setting-up-the-inventory.qmd +++ b/site/guide/inventory/setting-up-the-inventory.qmd @@ -14,6 +14,7 @@ listing: contents: - manage-inventory-record-types.qmd - manage-inventory-fields.qmd + - manage-inventory-segments.qmd - record-intake.qmd --- diff --git a/site/guide/inventory/working-with-the-inventory.qmd b/site/guide/inventory/working-with-the-inventory.qmd index 97885f1318..79c17e8896 100644 --- a/site/guide/inventory/working-with-the-inventory.qmd +++ b/site/guide/inventory/working-with-the-inventory.qmd @@ -46,6 +46,7 @@ Use the {{< var vm.product >}} inventory to track comprehensive details for all - **{{< fa magnifying-glass >}} Search** — Search for records using keywords in the record name. - **{{< fa filter >}} Filter** — Filter records using different criteria. - **{{< fa arrow-up-wide-short >}} Sort** — Reorder the list using different criteria in ascending or descending order. + - **{{< fa layer-group >}} Group By** — Organize the table view into collapsible sections by field.[^3] ::: {.callout-button .pl4 .nt4} ::: {.callout collapse="true" appearance="minimal"} @@ -55,12 +56,43 @@ Use the {{< var vm.product >}} inventory to track comprehensive details for all ::: ::: -Changes are automatically saved and affect only your account. +Changes are automatically saved and affect only your account. To reapply a combination of columns, filters, sorting, and grouping later on, save it as a view.[^4] -::: {.callout title="Note that searching, filtering, and sorting of fields stack."} +::: {.callout title="Note that searching, filtering, sorting, and grouping of fields stack."} For example, if you first search by keyword for `ValidMind` without clearing that search, any additional filtering and sorting applied will only apply to the results returned by the previous criteria. ::: +::: {.callout} +Published inventory segments — named, reusable filters managed by your organization's administrators — can also be applied as filter rules. When adding a filter rule, select Segment from the field selector, then select the segment to filter by.[^5] +::: + +## Group records + +Group records to organize the table view into collapsible sections based on the value of a single field, with a record count for each section: + +1. In the left sidebar, click **{{< fa cubes >}} Inventory**. + +2. Select the type of `{Record}` you want to view by clicking on **{Record} Inventory**.[^6] + +3. Click **{{< fa layer-group >}} Group By**. To use this feature, make sure you're in table view.[^7] + +4. Select the field to group by: + + - Fields are organized by inventory field group.[^8] Search for a field name in the list to narrow down results. + - Grouping is limited to one field at a time — selecting another field replaces the current grouping. + +Once grouped, the applied field appears as a Grouped by chip alongside your active filters, and you can work with the grouped listing: + +- Click on a group header to expand or collapse that section. +- Click **Expand All** or **Collapse All** to toggle every section at once. +- To remove grouping, click **{{< fa layer-group >}} Group By** and select **Clear grouping**, or clear the Grouped by chip. + +Grouping is included when you save a view, so you can reapply the same grouped layout later or share it with your organization.[^9] + +::: {.callout title="Grouping isn't available for every view."} +If the grouped field can no longer be grouped by — for example, because the field was deleted — the listing displays ungrouped until you select a different field. +::: + ## Using the {{< var vm.product >}} inventory :::{#working-with-the-inventory} @@ -76,4 +108,18 @@ For example, if you first search by keyword for `ValidMind` without clearing tha [^1]: [Register records in the inventory](register-records-in-inventory.qmd) -[^2]: [Manage inventory record types](manage-inventory-record-types.qmd) \ No newline at end of file +[^2]: [Manage inventory record types](manage-inventory-record-types.qmd) + +[^3]: [Group records](#group-records) + +[^4]: [Customize inventory layout](customize-inventory-layout.qmd#manage-custom-inventory-views) + +[^5]: [Manage inventory segments](manage-inventory-segments.qmd#apply-segments-as-inventory-filters) + +[^6]: [Manage inventory record types](manage-inventory-record-types.qmd) + +[^7]: [Customize inventory layout](customize-inventory-layout.qmd#swap-between-views) + +[^8]: [Manage inventory fields](manage-inventory-fields.qmd#add-inventory-field-groups) + +[^9]: [Customize inventory layout](customize-inventory-layout.qmd#manage-custom-inventory-views) \ No newline at end of file diff --git a/site/guide/reporting/_create-a-visualization.qmd b/site/guide/reporting/_create-a-visualization.qmd index 06a060acc7..c28cd7c75f 100644 --- a/site/guide/reporting/_create-a-visualization.qmd +++ b/site/guide/reporting/_create-a-visualization.qmd @@ -26,6 +26,7 @@ a. Select a **Dataset**: - **Artifact^[[Working with artifacts](/guide/validation/working-with-artifacts.qmd)] - {Type}** — Logged artifacts scoped to only the specific artifact `{Type}`.^[[Manage artifact types](/guide/validation/manage-artifact-types.qmd)] - **Inventory Record - {Type}**^[[Working with the inventory](/guide/inventory/working-with-the-inventory.qmd)] — Logged records scoped to only the specific record `{Type}`.^[[Manage inventory record types](/guide/inventory/manage-inventory-record-types.qmd)] - **Inventory Record Stage Durations** — Data on the duration inventory records spend in each stage.^[[Manage record stages](/guide/workflows/manage-record-stages.qmd)] + - **Inventory Segments - {Segment}** — Inventory records matching a published segment.^[[Manage inventory segments](/guide/inventory/manage-inventory-segments.qmd)] a. Select the visualization configuration options to apply to the dataset.^[[Visualization configuration options](/guide/reporting/manage-custom-reports.qmd#visualization-configuration-options)] @@ -49,6 +50,7 @@ a. Select a **Dataset**: - **[Artifact](/guide/validation/working-with-artifacts.qmd){target="_blank"} - {Type}** — Logged artifacts scoped to only the specific [artifact `{Type}`](/guide/validation/manage-artifact-types.qmd){target="_blank"}. - **[Inventory Record](/guide/inventory/working-with-the-inventory.qmd){target="_blank"} - {Type}** — Logged records scoped to only the specific [record `{Type}`](/guide/inventory/manage-inventory-record-types.qmd){target="_blank"}. - **Inventory Record Stage Durations** — Data on the duration inventory records spend in [each stage](/guide/workflows/manage-record-stages.qmd){target="_blank"}. + - **[Inventory Segments](/guide/inventory/manage-inventory-segments.qmd){target="_blank"} - {Segment}** — Inventory records matching a published segment. a. Select the [visualization configuration options](/guide/reporting/manage-custom-reports.qmd#visualization-configuration-options){target="_blank"} to apply to the dataset. diff --git a/site/guide/shared/_work-with-filters.qmd b/site/guide/shared/_work-with-filters.qmd index 893c54118f..c9ae57e1ee 100644 --- a/site/guide/shared/_work-with-filters.qmd +++ b/site/guide/shared/_work-with-filters.qmd @@ -45,6 +45,7 @@ Value editor - **[record information]{.smallcaps}** — One of the inventory record fields always created by {{< var vm.product >}}, such as the Business Unit. - **[stakeholders]{.smallcaps}** — Record Owner, Record Developer, or Record Validator, or custom stakeholders if applicable. - **[record fields]{.smallcaps}** — One of the organization-specific inventory record fields you added for your own use, by field group. +- **[segment]{.smallcaps}** — A published inventory segment: a named, reusable filter managed by your organization's administrators. Available on the inventory only.^[[Manage inventory segments](/guide/inventory/manage-inventory-segments.qmd)] :::: @@ -80,6 +81,7 @@ Inventory - **[record information]{.smallcaps}** — One of the inventory record fields always created by {{< var vm.product >}}, such as the Business Unit. - **[stakeholders]{.smallcaps}** — Record Owner, Record Developer, or Record Validator, or custom stakeholders if applicable. - **[record fields]{.smallcaps}** — One of the organization-specific inventory record fields you added for your own use, by field group. +- **[segment]{.smallcaps}** — A published inventory segment: a named, reusable filter managed by your organization's administrators. Available on the inventory only.^[[Manage inventory segments](/guide/inventory/manage-inventory-segments.qmd)] ::: ::: {.column width="50%" .pl4 .pr3} diff --git a/site/guide/shared/manage-views/_personal-table-views.qmd b/site/guide/shared/manage-views/_personal-table-views.qmd index f911ec1e57..5e3acf1401 100644 --- a/site/guide/shared/manage-views/_personal-table-views.qmd +++ b/site/guide/shared/manage-views/_personal-table-views.qmd @@ -14,14 +14,14 @@ SPDX-License-Identifier: AGPL-3.0 AND ValidMind Commercial --> :::: {.content-visible when-format="html" when-meta="includes.inventory"} 1. Select the type of `{Record}` you want to save a view for by clicking on **{Record} Inventory**, then customize the table view.^[[Customize table view](/guide/inventory/customize-inventory-layout.qmd#customize-table-view)] - You can also apply filters or sorting before saving your view to include them in the view.^[[Working with the inventory](/guide/inventory/working-with-the-inventory.qmd)] + You can also apply filters, sorting, or grouping before saving your view to include them in the view.^[[Working with the inventory](/guide/inventory/working-with-the-inventory.qmd)] :::: :::: {.content-visible when-format="html" when-meta="includes.artifacts"} 1. First, customize an artifact layout.^[[Customize artifact layouts by type](/guide/validation/customize-artifact-layouts.qmd#customize-artifact-layouts-by-type)] - You can also apply filters or sorting before saving your view to include them in the view.^[[View and filter artifacts](/guide/validation/view-filter-artifacts.qmd#filter-and-sort-artifacts)] + You can also apply filters, sorting, or grouping before saving your view to include them in the view.^[[View and filter artifacts](/guide/validation/view-filter-artifacts.qmd#filter-and-sort-artifacts)] :::: diff --git a/site/guide/validation/customize-artifact-layouts.qmd b/site/guide/validation/customize-artifact-layouts.qmd index fa6cab2ccf..d448f9706f 100644 --- a/site/guide/validation/customize-artifact-layouts.qmd +++ b/site/guide/validation/customize-artifact-layouts.qmd @@ -68,7 +68,7 @@ Once customized, you can save a view for later application.[^7] ## Manage custom artifact views -You can save custom artifact configurations as a view to reapply at any time for each artifact type: +You can save custom artifact configurations — including your columns, filters, sorting, and grouping[^8] — as a view to reapply at any time for each artifact type: ### Manage personal artifact views @@ -93,4 +93,6 @@ You can save custom artifact configurations as a view to reapply at any time for [^6]: [Manage artifact fields](manage-artifact-fields.qmd) -[^7]: [Manage custom artifact views](#manage-custom-artifact-views) \ No newline at end of file +[^7]: [Manage custom artifact views](#manage-custom-artifact-views) + +[^8]: [View and filter artifacts](view-filter-artifacts.qmd#group-artifacts) \ No newline at end of file diff --git a/site/guide/validation/view-filter-artifacts.qmd b/site/guide/validation/view-filter-artifacts.qmd index b5675c9e6b..860d09d96e 100644 --- a/site/guide/validation/view-filter-artifacts.qmd +++ b/site/guide/validation/view-filter-artifacts.qmd @@ -138,6 +138,31 @@ Changes are automatically saved to your account and do not affect other users. ::: +## Group artifacts + +Group artifacts to organize the table view into collapsible sections based on the value of a single field, with an artifact count for each section: + +1. In the left sidebar, click **{{< fa triangle-exclamation >}} Validation Issues** for a list of validation issues across all records, or click **{{< fa border-all >}} Artifacts** and select an artifact type[^9] for a list of other artifact types. + +2. Click **{{< fa layer-group >}} Group By**. + +3. Select the field to group by: + + - Search for a field name in the list to narrow down results. + - Grouping is limited to one field at a time — selecting another field replaces the current grouping. + +Once grouped, the applied field appears as a Grouped by chip alongside your active filters, and you can work with the grouped listing: + +- Click on a group header to expand or collapse that section. +- Click **Expand All** or **Collapse All** to toggle every section at once. +- To remove grouping, click **{{< fa layer-group >}} Group By** and select **Clear grouping**, or clear the Grouped by chip. + +Grouping is included when you save a view, so you can reapply the same grouped layout later or share it with your organization.[^10] + +::: {.callout title="Grouping isn't available for every view."} +If the grouped field can no longer be grouped by — for example, because the field was deleted — the listing displays ungrouped until you select a different field. +::: + [^1]: [Manage artifact types](/guide/validation/manage-artifact-types.qmd) @@ -155,3 +180,7 @@ Changes are automatically saved to your account and do not affect other users. [^7]: [Manage artifact types](/guide/validation/manage-artifact-types.qmd) [^8]: [Manage artifact types](/guide/validation/manage-artifact-types.qmd) + +[^9]: [Manage artifact types](/guide/validation/manage-artifact-types.qmd) + +[^10]: [Manage custom artifact views](customize-artifact-layouts.qmd#manage-custom-artifact-views) diff --git a/site/llm/chatbot-product-map-frontend-snapshot.json b/site/llm/chatbot-product-map-frontend-snapshot.json index b1609bea51..6b8e3d4e88 100644 --- a/site/llm/chatbot-product-map-frontend-snapshot.json +++ b/site/llm/chatbot-product-map-frontend-snapshot.json @@ -1,6 +1,6 @@ { "version": 1, - "generated_at": "2026-06-09T21:25:44.848926+00:00", + "generated_at": "2026-08-27T00:08:39.283559+00:00", "settings": [ { "path": "/settings/profile", @@ -8,12 +8,6 @@ "group": "Your Account", "primary_docs": [] }, - { - "path": "/settings/theme-customization", - "label": "Theme Customization", - "group": "Your Account", - "primary_docs": [] - }, { "path": "/settings/organization", "label": "Organization", @@ -131,6 +125,12 @@ "group": "Governance", "primary_docs": [] }, + { + "path": "/settings/risk-tier-stages", + "label": "Risk Tier Stages", + "group": "Governance", + "primary_docs": [] + }, { "path": "/settings/workflows", "label": "Workflows", @@ -188,14 +188,20 @@ "primary_docs": [] }, { - "path": "/attestations", - "label": "Attestations", + "path": "/artifacts", + "label": "Artifacts", "group": "Main navigation", "primary_docs": [] }, { - "path": "/artifacts", - "label": "Artifacts", + "path": "/activity", + "label": "Activity", + "group": "Main navigation", + "primary_docs": [] + }, + { + "path": "/attestations", + "label": "Attestations", "group": "Main navigation", "primary_docs": [] }, @@ -206,8 +212,50 @@ "primary_docs": [] }, { - "path": "/activity", - "label": "Activity", + "path": "/agent-authority/invocations", + "label": "Agent Authority", + "group": "Main navigation", + "primary_docs": [] + }, + { + "path": "/risk-intelligence", + "label": "Risk Intelligence", + "group": "Main navigation", + "primary_docs": [] + }, + { + "path": "/agent-authority/invocations", + "label": "Invocations", + "group": "Main navigation", + "primary_docs": [] + }, + { + "path": "/agent-authority/agents", + "label": "Agents", + "group": "Main navigation", + "primary_docs": [] + }, + { + "path": "/agent-authority/servers", + "label": "Servers", + "group": "Main navigation", + "primary_docs": [] + }, + { + "path": "/agent-authority/rules", + "label": "Rules", + "group": "Main navigation", + "primary_docs": [] + }, + { + "path": "/agent-authority/charters", + "label": "Charters", + "group": "Main navigation", + "primary_docs": [] + }, + { + "path": "/agent-authority/settings", + "label": "Settings", "group": "Main navigation", "primary_docs": [] }, diff --git a/site/llm/chatbot-product-map.md b/site/llm/chatbot-product-map.md index e446098f0c..875c90e5d0 100644 --- a/site/llm/chatbot-product-map.md +++ b/site/llm/chatbot-product-map.md @@ -174,18 +174,18 @@ **Docs (related):** -- `/guide/risk-tiering/manage-risk-tier-templates.html` - - Sections: Prerequisites; Access risk tier templates; Create a template; Select a tier calculation method; Define risk tier levels; Publish a template; Create a new version; Duplicate a template -- `/guide/templates/customize-document-checker.html` - - Sections: Prerequisites; Manage regulations and policies; Manage assessments; Default assessments provided by } cannot be edited, only cloned.; Add or clone assessments; Add or edit assessment questions; Add assessment questions; Edit assessment questions -- `/guide/templates/customize-document-templates.html` - - Sections: Prerequisites; Edit template outlines; Configure assessment options[^4]; Edit YAML templates; Template schema; Troubleshooting YAML templates; Add text blocks to templates; Add text blocks via template outlines -- `/guide/templates/manage-document-templates.html` - - Sections: Prerequisites; View document templates; Create document templates; Edit document template outlines; Swap document templates; View currently applied templates; Swap between templates; Duplicate document templates -- `/guide/templates/manage-document-types.html` - - Sections: Prerequisites; Add document types; Edit or delete document types; Development, Validation, and Monitoring document types are stock types and cannot be deleted. -- `/guide/templates/manage-documents.html` - - Sections: Prerequisites; Add record documents; How do I get the best results when converting PDFs into editable documents?; How can I trust that the conversion is accurate?; Troubleshooting; My PDF conversion is stuck. What can I do?; Edit record documents; Delete record documents +- `/guide/validation/customize-artifact-layouts.html` + - Sections: Prerequisites; Customize artifact layouts by type; Manage custom artifact views; Manage personal artifact views; Manage organization artifact views +- `/guide/validation/log-artifacts.html` + - Sections: Prerequisites; Add artifacts on documentation; Add artifacts on validation reports; Autogenerate validation issues; Manually add artifacts +- `/guide/validation/manage-artifact-types.html` + - Sections: Can I create custom artifact types?; Prerequisites; Manage artifact type statuses; Archive and delete artifact types +- `/guide/validation/update-artifacts.html` + - Sections: Prerequisites; Edit fields on artifacts; Comment on artifacts; View artifact activity; View individual field activity; Track artifact resolution; Delete artifacts +- `/guide/validation/view-filter-artifacts.html` + - Sections: Prerequisites; View artifacts; View all artifacts; View record-specific artifacts; Filter and sort artifacts; Filter all validation issues; How do I create effective filters?; Filter all other artifacts +- `/guide/validation/working-with-artifacts.html` + - Sections: Key concepts; Work with artifacts; What's next #### `/settings/finding-severities` — Artifact Severities @@ -196,18 +196,18 @@ **Docs (related):** -- `/guide/risk-tiering/manage-risk-tier-templates.html` - - Sections: Prerequisites; Access risk tier templates; Create a template; Select a tier calculation method; Define risk tier levels; Publish a template; Create a new version; Duplicate a template -- `/guide/templates/customize-document-checker.html` - - Sections: Prerequisites; Manage regulations and policies; Manage assessments; Default assessments provided by } cannot be edited, only cloned.; Add or clone assessments; Add or edit assessment questions; Add assessment questions; Edit assessment questions -- `/guide/templates/customize-document-templates.html` - - Sections: Prerequisites; Edit template outlines; Configure assessment options[^4]; Edit YAML templates; Template schema; Troubleshooting YAML templates; Add text blocks to templates; Add text blocks via template outlines -- `/guide/templates/manage-document-templates.html` - - Sections: Prerequisites; View document templates; Create document templates; Edit document template outlines; Swap document templates; View currently applied templates; Swap between templates; Duplicate document templates -- `/guide/templates/manage-document-types.html` - - Sections: Prerequisites; Add document types; Edit or delete document types; Development, Validation, and Monitoring document types are stock types and cannot be deleted. -- `/guide/templates/manage-documents.html` - - Sections: Prerequisites; Add record documents; How do I get the best results when converting PDFs into editable documents?; How can I trust that the conversion is accurate?; Troubleshooting; My PDF conversion is stuck. What can I do?; Edit record documents; Delete record documents +- `/guide/validation/customize-artifact-layouts.html` + - Sections: Prerequisites; Customize artifact layouts by type; Manage custom artifact views; Manage personal artifact views; Manage organization artifact views +- `/guide/validation/log-artifacts.html` + - Sections: Prerequisites; Add artifacts on documentation; Add artifacts on validation reports; Autogenerate validation issues; Manually add artifacts +- `/guide/validation/manage-artifact-types.html` + - Sections: Can I create custom artifact types?; Prerequisites; Manage artifact type statuses; Archive and delete artifact types +- `/guide/validation/update-artifacts.html` + - Sections: Prerequisites; Edit fields on artifacts; Comment on artifacts; View artifact activity; View individual field activity; Track artifact resolution; Delete artifacts +- `/guide/validation/view-filter-artifacts.html` + - Sections: Prerequisites; View artifacts; View all artifacts; View record-specific artifacts; Filter and sort artifacts; Filter all validation issues; How do I create effective filters?; Filter all other artifacts +- `/guide/validation/working-with-artifacts.html` + - Sections: Key concepts; Work with artifacts; What's next #### `/settings/finding-types` — Artifact Types @@ -218,18 +218,18 @@ **Docs (related):** -- `/guide/risk-tiering/manage-risk-tier-templates.html` - - Sections: Prerequisites; Access risk tier templates; Create a template; Select a tier calculation method; Define risk tier levels; Publish a template; Create a new version; Duplicate a template -- `/guide/templates/customize-document-checker.html` - - Sections: Prerequisites; Manage regulations and policies; Manage assessments; Default assessments provided by } cannot be edited, only cloned.; Add or clone assessments; Add or edit assessment questions; Add assessment questions; Edit assessment questions -- `/guide/templates/customize-document-templates.html` - - Sections: Prerequisites; Edit template outlines; Configure assessment options[^4]; Edit YAML templates; Template schema; Troubleshooting YAML templates; Add text blocks to templates; Add text blocks via template outlines -- `/guide/templates/manage-document-templates.html` - - Sections: Prerequisites; View document templates; Create document templates; Edit document template outlines; Swap document templates; View currently applied templates; Swap between templates; Duplicate document templates -- `/guide/templates/manage-document-types.html` - - Sections: Prerequisites; Add document types; Edit or delete document types; Development, Validation, and Monitoring document types are stock types and cannot be deleted. -- `/guide/templates/manage-documents.html` - - Sections: Prerequisites; Add record documents; How do I get the best results when converting PDFs into editable documents?; How can I trust that the conversion is accurate?; Troubleshooting; My PDF conversion is stuck. What can I do?; Edit record documents; Delete record documents +- `/guide/validation/customize-artifact-layouts.html` + - Sections: Prerequisites; Customize artifact layouts by type; Manage custom artifact views; Manage personal artifact views; Manage organization artifact views +- `/guide/validation/log-artifacts.html` + - Sections: Prerequisites; Add artifacts on documentation; Add artifacts on validation reports; Autogenerate validation issues; Manually add artifacts +- `/guide/validation/manage-artifact-types.html` + - Sections: Can I create custom artifact types?; Prerequisites; Manage artifact type statuses; Archive and delete artifact types +- `/guide/validation/update-artifacts.html` + - Sections: Prerequisites; Edit fields on artifacts; Comment on artifacts; View artifact activity; View individual field activity; Track artifact resolution; Delete artifacts +- `/guide/validation/view-filter-artifacts.html` + - Sections: Prerequisites; View artifacts; View all artifacts; View record-specific artifacts; Filter and sort artifacts; Filter all validation issues; How do I create effective filters?; Filter all other artifacts +- `/guide/validation/working-with-artifacts.html` + - Sections: Key concepts; Work with artifacts; What's next ### Users & Access @@ -388,6 +388,10 @@ - `/guide/model-validation/manage-validation-guidelines.html` - Note: no matching `.qmd` source found +#### `/settings/risk-tier-stages` — Risk Tier Stages + +- *No direct help link; content may be covered under scattered guide sections.* + #### `/settings/risk-tier-templates` — Risk Tier Templates **Docs (related):** @@ -463,12 +467,6 @@ - `/guide/templates/manage-text-block-library.html` - Sections: Prerequisites; Add text blocks; Add existing text blocks to library; Duplicate text blocks; Edit text blocks; Delete text blocks -### Your Account - -#### `/settings/theme-customization` — Theme Customization - -- *No direct help link; content may be covered under scattered guide sections.* - ### Users & Access #### `/settings/user-directory` — User Directory @@ -541,6 +539,30 @@ - *No direct help link in frontend; related docs inferred from keywords.* +#### `/agent-authority/agents` — Agents + +- *No direct help link; content may be covered under scattered guide sections.* + +#### `/agent-authority/charters` — Charters + +- *No direct help link; content may be covered under scattered guide sections.* + +#### `/agent-authority/invocations` — Agent Authority + +- *No direct help link; content may be covered under scattered guide sections.* + +#### `/agent-authority/rules` — Rules + +- *No direct help link; content may be covered under scattered guide sections.* + +#### `/agent-authority/servers` — Servers + +- *No direct help link; content may be covered under scattered guide sections.* + +#### `/agent-authority/settings` — Settings + +- *No direct help link; content may be covered under scattered guide sections.* + #### `/analytics` — sidebar.analytics **Docs (related):** @@ -564,18 +586,18 @@ **Docs (related):** -- `/guide/risk-tiering/manage-risk-tier-templates.html` - - Sections: Prerequisites; Access risk tier templates; Create a template; Select a tier calculation method; Define risk tier levels; Publish a template; Create a new version; Duplicate a template -- `/guide/templates/customize-document-checker.html` - - Sections: Prerequisites; Manage regulations and policies; Manage assessments; Default assessments provided by } cannot be edited, only cloned.; Add or clone assessments; Add or edit assessment questions; Add assessment questions; Edit assessment questions -- `/guide/templates/customize-document-templates.html` - - Sections: Prerequisites; Edit template outlines; Configure assessment options[^4]; Edit YAML templates; Template schema; Troubleshooting YAML templates; Add text blocks to templates; Add text blocks via template outlines -- `/guide/templates/manage-document-templates.html` - - Sections: Prerequisites; View document templates; Create document templates; Edit document template outlines; Swap document templates; View currently applied templates; Swap between templates; Duplicate document templates -- `/guide/templates/manage-document-types.html` - - Sections: Prerequisites; Add document types; Edit or delete document types; Development, Validation, and Monitoring document types are stock types and cannot be deleted. -- `/guide/templates/manage-documents.html` - - Sections: Prerequisites; Add record documents; How do I get the best results when converting PDFs into editable documents?; How can I trust that the conversion is accurate?; Troubleshooting; My PDF conversion is stuck. What can I do?; Edit record documents; Delete record documents +- `/guide/validation/customize-artifact-layouts.html` + - Sections: Prerequisites; Customize artifact layouts by type; Manage custom artifact views; Manage personal artifact views; Manage organization artifact views +- `/guide/validation/log-artifacts.html` + - Sections: Prerequisites; Add artifacts on documentation; Add artifacts on validation reports; Autogenerate validation issues; Manually add artifacts +- `/guide/validation/manage-artifact-types.html` + - Sections: Can I create custom artifact types?; Prerequisites; Manage artifact type statuses; Archive and delete artifact types +- `/guide/validation/update-artifacts.html` + - Sections: Prerequisites; Edit fields on artifacts; Comment on artifacts; View artifact activity; View individual field activity; Track artifact resolution; Delete artifacts +- `/guide/validation/view-filter-artifacts.html` + - Sections: Prerequisites; View artifacts; View all artifacts; View record-specific artifacts; Filter and sort artifacts; Filter all validation issues; How do I create effective filters?; Filter all other artifacts +- `/guide/validation/working-with-artifacts.html` + - Sections: Key concepts; Work with artifacts; What's next - *No direct help link in frontend; related docs inferred from keywords.* @@ -607,10 +629,21 @@ - *No direct help link in frontend; related docs inferred from keywords.* -#### `/validation-issues` — Validation Issues +#### `/risk-intelligence` — Risk Intelligence - *No direct help link; content may be covered under scattered guide sections.* +#### `/validation-issues` — Validation Issues + +**Docs (related):** + +- `/guide/validation/customize-artifact-layouts.html` + - Sections: Prerequisites; Customize artifact layouts by type; Manage custom artifact views; Manage personal artifact views; Manage organization artifact views +- `/guide/validation/view-filter-artifacts.html` + - Sections: Prerequisites; View artifacts; View all artifacts; View record-specific artifacts; Filter and sort artifacts; Filter all validation issues; How do I create effective filters?; Filter all other artifacts + +- *No direct help link in frontend; related docs inferred from keywords.* + #### `/workflows` — Workflows **Docs (related):** diff --git a/site/scripts/generate_chatbot_product_map.py b/site/scripts/generate_chatbot_product_map.py index b0b7f9e959..c52cac8ad1 100644 --- a/site/scripts/generate_chatbot_product_map.py +++ b/site/scripts/generate_chatbot_product_map.py @@ -100,8 +100,20 @@ "templates": ["templates", "model-documentation"], "document": ["templates", "model-documentation"], "inventory": ["inventory", "model-inventory"], + "segment": ["inventory/manage-inventory-segments"], "finding": ["model-validation", "findings"], - "artifact": ["model-validation", "templates"], + "artifact": [ + "validation/working-with-artifacts", + "validation/view-filter-artifacts", + "validation/customize-artifact-layouts", + "validation/manage-artifact-types", + "validation/log-artifacts", + "validation/update-artifacts", + ], + "validation issues": [ + "validation/view-filter-artifacts", + "validation/customize-artifact-layouts", + ], "attestation": ["attestation"], "regulation": ["templates/customize-virtual-document-validator", "model-validation"], "risk": ["model-validation/manage-validation-guidelines"], From d28a7ea1188fc1e3e8ed1e61750c68080e0ea86f Mon Sep 17 00:00:00 2001 From: Rod Date: Wed, 26 Aug 2026 17:44:58 -0700 Subject: [PATCH 2/5] Map the Inventory Segments settings route to its docs Refreshes the chatbot product map from frontend main now that the Segments UI is merged. The map generator now resolves SettingLink and SettingGroup titles that come from the frontend copy dictionary, and ranks related docs by keyword specificity so the most relevant page survives the six-entry cap. sc-18067 Co-Authored-By: Claude Fable 5 --- ...chatbot-product-map-frontend-snapshot.json | 50 +++- site/llm/chatbot-product-map.md | 222 ++++++++++++++---- site/scripts/generate_chatbot_product_map.py | 53 ++++- .../test_generate_chatbot_product_map.py | 48 ++++ 4 files changed, 321 insertions(+), 52 deletions(-) diff --git a/site/llm/chatbot-product-map-frontend-snapshot.json b/site/llm/chatbot-product-map-frontend-snapshot.json index 6b8e3d4e88..3df47b9c1d 100644 --- a/site/llm/chatbot-product-map-frontend-snapshot.json +++ b/site/llm/chatbot-product-map-frontend-snapshot.json @@ -1,6 +1,6 @@ { "version": 1, - "generated_at": "2026-08-27T00:08:39.283559+00:00", + "generated_at": "2026-08-27T00:43:25.609194+00:00", "settings": [ { "path": "/settings/profile", @@ -14,6 +14,12 @@ "group": "Organization", "primary_docs": [] }, + { + "path": "/settings/usage", + "label": "Usage", + "group": "Organization", + "primary_docs": [] + }, { "path": "/settings/authentication", "label": "Authentication", @@ -89,6 +95,48 @@ "group": "Integrations", "primary_docs": [] }, + { + "path": "/settings/inventory-model-custom-fields", + "label": "Model Inventory Fields", + "group": "Model Inventory", + "primary_docs": [] + }, + { + "path": "/settings/statuses", + "label": "Model Stages", + "group": "Model Inventory", + "primary_docs": [] + }, + { + "path": "/settings/primary-record-types", + "label": "Inventory Record Types", + "group": "Model Inventory", + "primary_docs": [] + }, + { + "path": "/settings/primary-record-types/fields", + "label": "Inventory Record Fields", + "group": "Model Inventory", + "primary_docs": [] + }, + { + "path": "/settings/primary-record-type-stages", + "label": "Inventory Record Stages", + "group": "Model Inventory", + "primary_docs": [] + }, + { + "path": "/settings/stakeholders", + "label": "Model Stakeholder Types", + "group": "Model Inventory", + "primary_docs": [] + }, + { + "path": "/settings/segments", + "label": "Inventory Segments", + "group": "Model Inventory", + "primary_docs": [] + }, { "path": "/settings/finding-types", "label": "Artifact Types", diff --git a/site/llm/chatbot-product-map.md b/site/llm/chatbot-product-map.md index 875c90e5d0..141dcd35f9 100644 --- a/site/llm/chatbot-product-map.md +++ b/site/llm/chatbot-product-map.md @@ -176,16 +176,16 @@ - `/guide/validation/customize-artifact-layouts.html` - Sections: Prerequisites; Customize artifact layouts by type; Manage custom artifact views; Manage personal artifact views; Manage organization artifact views -- `/guide/validation/log-artifacts.html` - - Sections: Prerequisites; Add artifacts on documentation; Add artifacts on validation reports; Autogenerate validation issues; Manually add artifacts +- `/guide/validation/working-with-artifacts.html` + - Sections: Key concepts; Work with artifacts; What's next - `/guide/validation/manage-artifact-types.html` - Sections: Can I create custom artifact types?; Prerequisites; Manage artifact type statuses; Archive and delete artifact types -- `/guide/validation/update-artifacts.html` - - Sections: Prerequisites; Edit fields on artifacts; Comment on artifacts; View artifact activity; View individual field activity; Track artifact resolution; Delete artifacts - `/guide/validation/view-filter-artifacts.html` - Sections: Prerequisites; View artifacts; View all artifacts; View record-specific artifacts; Filter and sort artifacts; Filter all validation issues; How do I create effective filters?; Filter all other artifacts -- `/guide/validation/working-with-artifacts.html` - - Sections: Key concepts; Work with artifacts; What's next +- `/guide/validation/update-artifacts.html` + - Sections: Prerequisites; Edit fields on artifacts; Comment on artifacts; View artifact activity; View individual field activity; Track artifact resolution; Delete artifacts +- `/guide/validation/log-artifacts.html` + - Sections: Prerequisites; Add artifacts on documentation; Add artifacts on validation reports; Autogenerate validation issues; Manually add artifacts #### `/settings/finding-severities` — Artifact Severities @@ -198,16 +198,16 @@ - `/guide/validation/customize-artifact-layouts.html` - Sections: Prerequisites; Customize artifact layouts by type; Manage custom artifact views; Manage personal artifact views; Manage organization artifact views -- `/guide/validation/log-artifacts.html` - - Sections: Prerequisites; Add artifacts on documentation; Add artifacts on validation reports; Autogenerate validation issues; Manually add artifacts +- `/guide/validation/working-with-artifacts.html` + - Sections: Key concepts; Work with artifacts; What's next - `/guide/validation/manage-artifact-types.html` - Sections: Can I create custom artifact types?; Prerequisites; Manage artifact type statuses; Archive and delete artifact types -- `/guide/validation/update-artifacts.html` - - Sections: Prerequisites; Edit fields on artifacts; Comment on artifacts; View artifact activity; View individual field activity; Track artifact resolution; Delete artifacts - `/guide/validation/view-filter-artifacts.html` - Sections: Prerequisites; View artifacts; View all artifacts; View record-specific artifacts; Filter and sort artifacts; Filter all validation issues; How do I create effective filters?; Filter all other artifacts -- `/guide/validation/working-with-artifacts.html` - - Sections: Key concepts; Work with artifacts; What's next +- `/guide/validation/update-artifacts.html` + - Sections: Prerequisites; Edit fields on artifacts; Comment on artifacts; View artifact activity; View individual field activity; Track artifact resolution; Delete artifacts +- `/guide/validation/log-artifacts.html` + - Sections: Prerequisites; Add artifacts on documentation; Add artifacts on validation reports; Autogenerate validation issues; Manually add artifacts #### `/settings/finding-types` — Artifact Types @@ -220,16 +220,16 @@ - `/guide/validation/customize-artifact-layouts.html` - Sections: Prerequisites; Customize artifact layouts by type; Manage custom artifact views; Manage personal artifact views; Manage organization artifact views -- `/guide/validation/log-artifacts.html` - - Sections: Prerequisites; Add artifacts on documentation; Add artifacts on validation reports; Autogenerate validation issues; Manually add artifacts +- `/guide/validation/working-with-artifacts.html` + - Sections: Key concepts; Work with artifacts; What's next - `/guide/validation/manage-artifact-types.html` - Sections: Can I create custom artifact types?; Prerequisites; Manage artifact type statuses; Archive and delete artifact types -- `/guide/validation/update-artifacts.html` - - Sections: Prerequisites; Edit fields on artifacts; Comment on artifacts; View artifact activity; View individual field activity; Track artifact resolution; Delete artifacts - `/guide/validation/view-filter-artifacts.html` - Sections: Prerequisites; View artifacts; View all artifacts; View record-specific artifacts; Filter and sort artifacts; Filter all validation issues; How do I create effective filters?; Filter all other artifacts -- `/guide/validation/working-with-artifacts.html` - - Sections: Key concepts; Work with artifacts; What's next +- `/guide/validation/update-artifacts.html` + - Sections: Prerequisites; Edit fields on artifacts; Comment on artifacts; View artifact activity; View individual field activity; Track artifact resolution; Delete artifacts +- `/guide/validation/log-artifacts.html` + - Sections: Prerequisites; Add artifacts on documentation; Add artifacts on validation reports; Autogenerate validation issues; Manually add artifacts ### Users & Access @@ -242,10 +242,10 @@ **Docs (related):** -- `/guide/configuration/manage-users.html` - - Sections: Prerequisites; View and search for users; Manage user invitations; Invite new users; Monitor user invitations; Manage user roles; Disable users - `/guide/configuration/managing-users.html` - Sections: Key concepts; Key terms; Default roles; User management; What's next +- `/guide/configuration/manage-users.html` + - Sections: Prerequisites; View and search for users; Manage user invitations; Invite new users; Monitor user invitations; Manage user roles; Disable users ### Integrations @@ -253,8 +253,6 @@ **Docs (related):** -- `/faq/faq-integrations.html` - - Sections: Which languages, libraries, and environments do you support?; Currently, we support **Python }** and the most popular AI/ML and data science libraries.; What test ingestion or modeling techniques are supported?; What large language model (LLM) features are offered?; What deployment options are supported by }?; What third-party integrations are supported by }?; Learn more - `/guide/configuration/configure-aws-privatelink.html` - Sections: Prerequisites; VPC service information; Steps; What's next - `/guide/configuration/configure-azure-private-link.html` @@ -265,6 +263,8 @@ - Sections: Prerequisites; Step 1: Register an application in Entra ID; Step 2: Configure the claims Entra ID sends to ValidMind; Step 3: Send ValidMind your application details; Step 4: Map Entra groups to ValidMind roles; Step 5: Test sign-in; Why no client secret?; What's next - `/guide/configuration/configuring-private-connectivity.html` - Sections: What's next +- `/guide/configuration/customize-your-dashboard.html` + - Sections: Prerequisites; Manage dashboards; Add dashboards; Edit or remove dashboards; Manage widgets; Arrange widgets; Add widgets; Remove widgets - *No direct help link in frontend; related docs inferred from keywords.* @@ -272,8 +272,6 @@ **Docs (related):** -- `/faq/faq-integrations.html` - - Sections: Which languages, libraries, and environments do you support?; Currently, we support **Python }** and the most popular AI/ML and data science libraries.; What test ingestion or modeling techniques are supported?; What large language model (LLM) features are offered?; What deployment options are supported by }?; What third-party integrations are supported by }?; Learn more - `/guide/configuration/configure-aws-privatelink.html` - Sections: Prerequisites; VPC service information; Steps; What's next - `/guide/configuration/configure-azure-private-link.html` @@ -284,6 +282,8 @@ - Sections: Prerequisites; Step 1: Register an application in Entra ID; Step 2: Configure the claims Entra ID sends to ValidMind; Step 3: Send ValidMind your application details; Step 4: Map Entra groups to ValidMind roles; Step 5: Test sign-in; Why no client secret?; What's next - `/guide/configuration/configuring-private-connectivity.html` - Sections: What's next +- `/guide/configuration/customize-your-dashboard.html` + - Sections: Prerequisites; Manage dashboards; Add dashboards; Edit or remove dashboards; Manage widgets; Arrange widgets; Add widgets; Remove widgets - *No direct help link in frontend; related docs inferred from keywords.* @@ -291,8 +291,6 @@ **Docs (related):** -- `/faq/faq-integrations.html` - - Sections: Which languages, libraries, and environments do you support?; Currently, we support **Python }** and the most popular AI/ML and data science libraries.; What test ingestion or modeling techniques are supported?; What large language model (LLM) features are offered?; What deployment options are supported by }?; What third-party integrations are supported by }?; Learn more - `/guide/configuration/configure-aws-privatelink.html` - Sections: Prerequisites; VPC service information; Steps; What's next - `/guide/configuration/configure-azure-private-link.html` @@ -303,6 +301,29 @@ - Sections: Prerequisites; Step 1: Register an application in Entra ID; Step 2: Configure the claims Entra ID sends to ValidMind; Step 3: Send ValidMind your application details; Step 4: Map Entra groups to ValidMind roles; Step 5: Test sign-in; Why no client secret?; What's next - `/guide/configuration/configuring-private-connectivity.html` - Sections: What's next +- `/guide/configuration/customize-your-dashboard.html` + - Sections: Prerequisites; Manage dashboards; Add dashboards; Edit or remove dashboards; Manage widgets; Arrange widgets; Add widgets; Remove widgets + +- *No direct help link in frontend; related docs inferred from keywords.* + +### Model Inventory + +#### `/settings/inventory-model-custom-fields` — Model Inventory Fields + +**Docs (related):** + +- `/faq/faq-inventory.html` + - Sections: How do I register records with }?; Can submitters register records before the final inventory type is known?; Are registration questionnaires customizable?; Can the } inventory be customized?; Can I archive or delete records within }?; Can I track interdependencies within the inventory?; Learn more +- `/guide/inventory/archive-delete-records.html` + - Sections: By default, only the Customer Admin role[^1] can access archived records.; Prerequisites; Change record stages; Instead of manually modifying your records' stages,[^4] we recommend manipulating stages via customized workflows.[^5]; Delete records; Record deletion is also permanent and cannot be undone. +- `/guide/inventory/configure-record-interdependencies.html` + - Sections: Prerequisites; View interdependencies; Edit interdependencies +- `/guide/inventory/customize-inventory-layout.html` + - Sections: Prerequisites; Swap between views; Customize table view; Manage custom inventory views +- `/guide/inventory/customize-record-overview-page.html` + - Sections: Prerequisites; Organize, show, or hide record fields; Highlight inventory record fields; Manage record field layouts; Manage personal record field layouts; Manage organization record field layouts +- `/guide/inventory/edit-inventory-fields.html` + - Sections: Prerequisites; Edit fields on individual records; Manage inventory record stakeholders; Manage attachments on records; Edit fields in bulk for multiple records - *No direct help link in frontend; related docs inferred from keywords.* @@ -337,20 +358,73 @@ **Docs (related):** -- `/guide/configuration/manage-users.html` - - Sections: Prerequisites; View and search for users; Manage user invitations; Invite new users; Monitor user invitations; Manage user roles; Disable users - `/guide/configuration/managing-users.html` - Sections: Key concepts; Key terms; Default roles; User management; What's next +- `/guide/configuration/manage-users.html` + - Sections: Prerequisites; View and search for users; Manage user invitations; Invite new users; Monitor user invitations; Manage user roles; Disable users -### Main navigation +### Model Inventory -#### `/settings/primary-record-type-stages` — /settings/primary-record-type-stages +#### `/settings/primary-record-type-stages` — Inventory Record Stages **Docs (primary):** - `/guide/workflows/manage-model-stages.html` - Note: no matching `.qmd` source found +**Docs (related):** + +- `/faq/faq-inventory.html` + - Sections: How do I register records with }?; Can submitters register records before the final inventory type is known?; Are registration questionnaires customizable?; Can the } inventory be customized?; Can I archive or delete records within }?; Can I track interdependencies within the inventory?; Learn more +- `/guide/inventory/archive-delete-records.html` + - Sections: By default, only the Customer Admin role[^1] can access archived records.; Prerequisites; Change record stages; Instead of manually modifying your records' stages,[^4] we recommend manipulating stages via customized workflows.[^5]; Delete records; Record deletion is also permanent and cannot be undone. +- `/guide/inventory/configure-record-interdependencies.html` + - Sections: Prerequisites; View interdependencies; Edit interdependencies +- `/guide/inventory/customize-inventory-layout.html` + - Sections: Prerequisites; Swap between views; Customize table view; Manage custom inventory views +- `/guide/inventory/customize-record-overview-page.html` + - Sections: Prerequisites; Organize, show, or hide record fields; Highlight inventory record fields; Manage record field layouts; Manage personal record field layouts; Manage organization record field layouts +- `/guide/inventory/edit-inventory-fields.html` + - Sections: Prerequisites; Edit fields on individual records; Manage inventory record stakeholders; Manage attachments on records; Edit fields in bulk for multiple records + +#### `/settings/primary-record-types` — Inventory Record Types + +**Docs (related):** + +- `/faq/faq-inventory.html` + - Sections: How do I register records with }?; Can submitters register records before the final inventory type is known?; Are registration questionnaires customizable?; Can the } inventory be customized?; Can I archive or delete records within }?; Can I track interdependencies within the inventory?; Learn more +- `/guide/inventory/archive-delete-records.html` + - Sections: By default, only the Customer Admin role[^1] can access archived records.; Prerequisites; Change record stages; Instead of manually modifying your records' stages,[^4] we recommend manipulating stages via customized workflows.[^5]; Delete records; Record deletion is also permanent and cannot be undone. +- `/guide/inventory/configure-record-interdependencies.html` + - Sections: Prerequisites; View interdependencies; Edit interdependencies +- `/guide/inventory/customize-inventory-layout.html` + - Sections: Prerequisites; Swap between views; Customize table view; Manage custom inventory views +- `/guide/inventory/customize-record-overview-page.html` + - Sections: Prerequisites; Organize, show, or hide record fields; Highlight inventory record fields; Manage record field layouts; Manage personal record field layouts; Manage organization record field layouts +- `/guide/inventory/edit-inventory-fields.html` + - Sections: Prerequisites; Edit fields on individual records; Manage inventory record stakeholders; Manage attachments on records; Edit fields in bulk for multiple records + +- *No direct help link in frontend; related docs inferred from keywords.* + +#### `/settings/primary-record-types/fields` — Inventory Record Fields + +**Docs (related):** + +- `/faq/faq-inventory.html` + - Sections: How do I register records with }?; Can submitters register records before the final inventory type is known?; Are registration questionnaires customizable?; Can the } inventory be customized?; Can I archive or delete records within }?; Can I track interdependencies within the inventory?; Learn more +- `/guide/inventory/archive-delete-records.html` + - Sections: By default, only the Customer Admin role[^1] can access archived records.; Prerequisites; Change record stages; Instead of manually modifying your records' stages,[^4] we recommend manipulating stages via customized workflows.[^5]; Delete records; Record deletion is also permanent and cannot be undone. +- `/guide/inventory/configure-record-interdependencies.html` + - Sections: Prerequisites; View interdependencies; Edit interdependencies +- `/guide/inventory/customize-inventory-layout.html` + - Sections: Prerequisites; Swap between views; Customize table view; Manage custom inventory views +- `/guide/inventory/customize-record-overview-page.html` + - Sections: Prerequisites; Organize, show, or hide record fields; Highlight inventory record fields; Manage record field layouts; Manage personal record field layouts; Manage organization record field layouts +- `/guide/inventory/edit-inventory-fields.html` + - Sections: Prerequisites; Edit fields on individual records; Manage inventory record stakeholders; Manage attachments on records; Edit fields in bulk for multiple records + +- *No direct help link in frontend; related docs inferred from keywords.* + ### Your Account #### `/settings/profile` — Profile @@ -362,9 +436,9 @@ **Docs (related):** +- `/guide/configuration/personalizing-validmind.html` - `/guide/configuration/manage-your-profile.html` - Sections: Prerequisites; Access your profile; Onboarding; User Interface Preferences; Terms; Localization; Access Keys; To revoke and regenerate keys, click **Revoke & Regenerate Keys**. -- `/guide/configuration/personalizing-validmind.html` ### Main navigation @@ -427,22 +501,71 @@ - `/guide/configuration/manage-users.html` - Sections: Prerequisites; View and search for users; Manage user invitations; Invite new users; Monitor user invitations; Manage user roles; Disable users -### Main navigation +### Model Inventory + +#### `/settings/segments` — Inventory Segments + +**Docs (related):** + +- `/guide/inventory/manage-inventory-segments.html` + - Sections: Prerequisites; Key concepts; Add segments; Define segment conditions; How do I create effective filters?; Publish segments; Edit segments; Unpublish, archive, or delete segments +- `/faq/faq-inventory.html` + - Sections: How do I register records with }?; Can submitters register records before the final inventory type is known?; Are registration questionnaires customizable?; Can the } inventory be customized?; Can I archive or delete records within }?; Can I track interdependencies within the inventory?; Learn more +- `/guide/inventory/archive-delete-records.html` + - Sections: By default, only the Customer Admin role[^1] can access archived records.; Prerequisites; Change record stages; Instead of manually modifying your records' stages,[^4] we recommend manipulating stages via customized workflows.[^5]; Delete records; Record deletion is also permanent and cannot be undone. +- `/guide/inventory/configure-record-interdependencies.html` + - Sections: Prerequisites; View interdependencies; Edit interdependencies +- `/guide/inventory/customize-inventory-layout.html` + - Sections: Prerequisites; Swap between views; Customize table view; Manage custom inventory views +- `/guide/inventory/customize-record-overview-page.html` + - Sections: Prerequisites; Organize, show, or hide record fields; Highlight inventory record fields; Manage record field layouts; Manage personal record field layouts; Manage organization record field layouts + +- *No direct help link in frontend; related docs inferred from keywords.* -#### `/settings/stakeholders` — /settings/stakeholders +#### `/settings/stakeholders` — Model Stakeholder Types **Docs (primary):** - `/guide/configuration/manage-model-stakeholder-types.html` - Note: no matching `.qmd` source found -#### `/settings/statuses` — /settings/statuses +**Docs (related):** + +- `/faq/faq-inventory.html` + - Sections: How do I register records with }?; Can submitters register records before the final inventory type is known?; Are registration questionnaires customizable?; Can the } inventory be customized?; Can I archive or delete records within }?; Can I track interdependencies within the inventory?; Learn more +- `/guide/inventory/archive-delete-records.html` + - Sections: By default, only the Customer Admin role[^1] can access archived records.; Prerequisites; Change record stages; Instead of manually modifying your records' stages,[^4] we recommend manipulating stages via customized workflows.[^5]; Delete records; Record deletion is also permanent and cannot be undone. +- `/guide/inventory/configure-record-interdependencies.html` + - Sections: Prerequisites; View interdependencies; Edit interdependencies +- `/guide/inventory/customize-inventory-layout.html` + - Sections: Prerequisites; Swap between views; Customize table view; Manage custom inventory views +- `/guide/inventory/customize-record-overview-page.html` + - Sections: Prerequisites; Organize, show, or hide record fields; Highlight inventory record fields; Manage record field layouts; Manage personal record field layouts; Manage organization record field layouts +- `/guide/inventory/edit-inventory-fields.html` + - Sections: Prerequisites; Edit fields on individual records; Manage inventory record stakeholders; Manage attachments on records; Edit fields in bulk for multiple records + +#### `/settings/statuses` — Model Stages **Docs (primary):** - `/guide/workflows/manage-model-stages.html` - Note: no matching `.qmd` source found +**Docs (related):** + +- `/faq/faq-inventory.html` + - Sections: How do I register records with }?; Can submitters register records before the final inventory type is known?; Are registration questionnaires customizable?; Can the } inventory be customized?; Can I archive or delete records within }?; Can I track interdependencies within the inventory?; Learn more +- `/guide/inventory/archive-delete-records.html` + - Sections: By default, only the Customer Admin role[^1] can access archived records.; Prerequisites; Change record stages; Instead of manually modifying your records' stages,[^4] we recommend manipulating stages via customized workflows.[^5]; Delete records; Record deletion is also permanent and cannot be undone. +- `/guide/inventory/configure-record-interdependencies.html` + - Sections: Prerequisites; View interdependencies; Edit interdependencies +- `/guide/inventory/customize-inventory-layout.html` + - Sections: Prerequisites; Swap between views; Customize table view; Manage custom inventory views +- `/guide/inventory/customize-record-overview-page.html` + - Sections: Prerequisites; Organize, show, or hide record fields; Highlight inventory record fields; Manage record field layouts; Manage personal record field layouts; Manage organization record field layouts +- `/guide/inventory/edit-inventory-fields.html` + - Sections: Prerequisites; Edit fields on individual records; Manage inventory record stakeholders; Manage attachments on records; Edit fields in bulk for multiple records + ### Documents #### `/settings/templates` — Templates @@ -467,6 +590,17 @@ - `/guide/templates/manage-text-block-library.html` - Sections: Prerequisites; Add text blocks; Add existing text blocks to library; Duplicate text blocks; Edit text blocks; Delete text blocks +### Organization + +#### `/settings/usage` — Usage + +**Docs (related):** + +- `/guide/configuration/managing-your-organization.html` + - Sections: Prerequisites; Switch between organizations; Change names of organizations; Manage your organization; What's next + +- *No direct help link in frontend; related docs inferred from keywords.* + ### Users & Access #### `/settings/user-directory` — User Directory @@ -532,10 +666,10 @@ - `/guide/reporting/tracking-organization-activity.html` - Sections: What's next -- `/guide/reporting/view-record-activity.html` - - Sections: What is tracked on record activity?; Prerequisites; View record activity; Organization-wide Record Activity; Activity for a specific record; View individual field activity; Filter record activity; Organization-wide filters - `/guide/reporting/view-settings-activity.html` - Sections: What is tracked on settings activity?; Prerequisites; View settings activity +- `/guide/reporting/view-record-activity.html` + - Sections: What is tracked on record activity?; Prerequisites; View record activity; Organization-wide Record Activity; Activity for a specific record; View individual field activity; Filter record activity; Organization-wide filters - *No direct help link in frontend; related docs inferred from keywords.* @@ -567,8 +701,6 @@ **Docs (related):** -- `/faq/faq-reporting.html` - - Sections: What analytic features are offered by }?; How can I export platform data on a schedule to cloud storage?; Learn more - `/guide/monitoring/enable-monitoring.html` - Sections: Prerequisites; Steps; 1. Get monitoring code snippet; 2. Select monitoring template; 3. Run code snippet; A template must already be applied to your selected document to populate monitoring test results in the }.; What's next - `/guide/monitoring/ongoing-monitoring.html` @@ -579,6 +711,8 @@ - Sections: Prerequisites; Use a custom function; Set the `passed` parameter; Output examples; Alert notifications - `/guide/monitoring/work-with-metrics-over-time.html` - Sections: **Log metrics over time }**; Prerequisites; Add metrics over time; Add integration metrics; Use the global time range; View metric over time metadata +- `/faq/faq-reporting.html` + - Sections: What analytic features are offered by }?; How can I export platform data on a schedule to cloud storage?; Learn more - *No direct help link in frontend; related docs inferred from keywords.* @@ -588,16 +722,16 @@ - `/guide/validation/customize-artifact-layouts.html` - Sections: Prerequisites; Customize artifact layouts by type; Manage custom artifact views; Manage personal artifact views; Manage organization artifact views -- `/guide/validation/log-artifacts.html` - - Sections: Prerequisites; Add artifacts on documentation; Add artifacts on validation reports; Autogenerate validation issues; Manually add artifacts +- `/guide/validation/working-with-artifacts.html` + - Sections: Key concepts; Work with artifacts; What's next - `/guide/validation/manage-artifact-types.html` - Sections: Can I create custom artifact types?; Prerequisites; Manage artifact type statuses; Archive and delete artifact types -- `/guide/validation/update-artifacts.html` - - Sections: Prerequisites; Edit fields on artifacts; Comment on artifacts; View artifact activity; View individual field activity; Track artifact resolution; Delete artifacts - `/guide/validation/view-filter-artifacts.html` - Sections: Prerequisites; View artifacts; View all artifacts; View record-specific artifacts; Filter and sort artifacts; Filter all validation issues; How do I create effective filters?; Filter all other artifacts -- `/guide/validation/working-with-artifacts.html` - - Sections: Key concepts; Work with artifacts; What's next +- `/guide/validation/update-artifacts.html` + - Sections: Prerequisites; Edit fields on artifacts; Comment on artifacts; View artifact activity; View individual field activity; Track artifact resolution; Delete artifacts +- `/guide/validation/log-artifacts.html` + - Sections: Prerequisites; Add artifacts on documentation; Add artifacts on validation reports; Autogenerate validation issues; Manually add artifacts - *No direct help link in frontend; related docs inferred from keywords.* diff --git a/site/scripts/generate_chatbot_product_map.py b/site/scripts/generate_chatbot_product_map.py index c52cac8ad1..c85dba307b 100644 --- a/site/scripts/generate_chatbot_product_map.py +++ b/site/scripts/generate_chatbot_product_map.py @@ -61,6 +61,18 @@ r']*\btitle="([^"]+)"[^>]*\bpath="([^"]+)"', ) +# SettingLink whose title comes from the copy dictionary: title={copy('some.key')} +SETTING_LINK_COPY_PATTERN = re.compile( + r"]*\btitle=\{copy\('([^']+)'\)\}[^>]*\bpath=\"([^\"]+)\"", +) + +SETTING_GROUP_TITLE_COPY_PATTERN = re.compile( + r"]*\btitle=\{copy\('([^']+)'\)\}", +) + +# 'some.key': 'value' entries in src/copy/base.en.ts (values may span lines). +COPY_ENTRY_PATTERN = re.compile(r"'([\w.]+)':\s*'((?:[^'\\]|\\.)*)'", re.S) + ATTR_PATTERN = re.compile(r'(\w+)=["{`]([^"`}]+)["`}]') HEADING_PATTERN = re.compile(r"^(#{2,3})\s+(.+)$", re.MULTILINE) @@ -213,19 +225,36 @@ def resolve_doc_path(path: str) -> str: return DOC_PATH_ALIASES.get(path, path) +def load_copy_dictionary(frontend_root: Path) -> dict[str, str]: + """Parse the frontend copy dictionary so copy('key') titles resolve to labels.""" + copy_file = frontend_root / "src/copy/base.en.ts" + if not copy_file.is_file(): + return {} + text = copy_file.read_text(encoding="utf-8") + return { + m.group(1): m.group(2).replace("\\'", "'") + for m in COPY_ENTRY_PATTERN.finditer(text) + } + + def parse_settings_index(frontend_root: Path) -> list[ProductRoute]: settings_file = frontend_root / "src/pages/Settings/index.tsx" if not settings_file.is_file(): return [] content = settings_file.read_text(encoding="utf-8") + copy_dictionary = load_copy_dictionary(frontend_root) routes: list[ProductRoute] = [] seen_paths: set[str] = set() group_positions = [ (m.start(), m.group(1)) for m in SETTING_GROUP_TITLE_PATTERN.finditer(content) + ] + [ + (m.start(), copy_dictionary.get(m.group(1).strip(), m.group(1).strip())) + for m in SETTING_GROUP_TITLE_COPY_PATTERN.finditer(content) ] + group_positions.sort(key=lambda item: item[0]) def group_for_position(pos: int) -> str | None: title = None @@ -236,8 +265,15 @@ def group_for_position(pos: int) -> str | None: break return title - for link_match in SETTING_LINK_PATTERN.finditer(content): - title = link_match.group(1).strip() + link_matches = [ + (m, m.group(1).strip()) for m in SETTING_LINK_PATTERN.finditer(content) + ] + [ + (m, copy_dictionary.get(m.group(1).strip(), m.group(1).strip())) + for m in SETTING_LINK_COPY_PATTERN.finditer(content) + ] + link_matches.sort(key=lambda item: item[0].start()) + + for link_match, title in link_matches: path = link_match.group(2).strip() if not path.startswith("/settings") or path in seen_paths: continue @@ -368,15 +404,18 @@ def suggest_related_docs(route: ProductRoute, all_doc_paths: list[str]) -> list[ segments.update(doc_segments) primary_paths = {d.path for d in route.primary_docs} - related: list[DocRef] = [] + related: list[tuple[int, DocRef]] = [] for doc_path in all_doc_paths: if doc_path in primary_paths or not is_user_facing_doc(doc_path): continue inner = doc_path.lower() - if any(seg in inner for seg in segments): - related.append(DocRef(path=doc_path)) - related.sort(key=lambda r: r.path) - return related[:6] + # A doc matched by a longer, more specific keyword segment outranks one + # matched only by a broad segment, so it survives the cap below. + best = max((len(seg) for seg in segments if seg in inner), default=0) + if best: + related.append((best, DocRef(path=doc_path))) + related.sort(key=lambda item: (-item[0], item[1].path)) + return [ref for _, ref in related[:6]] DEFAULT_SNAPSHOT_NAME = "chatbot-product-map-frontend-snapshot.json" diff --git a/site/scripts/test_generate_chatbot_product_map.py b/site/scripts/test_generate_chatbot_product_map.py index 60e48dfb07..97f93ffda9 100644 --- a/site/scripts/test_generate_chatbot_product_map.py +++ b/site/scripts/test_generate_chatbot_product_map.py @@ -64,6 +64,54 @@ def test_suggest_related_docs_sorted_and_stable(self) -> None: self.assertEqual(first, second) self.assertEqual([r.path for r in first], sorted(r.path for r in first)) + def test_suggest_related_docs_ranks_specific_matches_first(self) -> None: + route = gen.ProductRoute( + path="/settings/segments", + label="Inventory Segments", + group="Model Inventory", + ) + all_paths = [ + "/guide/inventory/archive-delete-records.html", + "/guide/inventory/manage-inventory-segments.html", + "/faq/faq-inventory.html", + ] + related = gen.suggest_related_docs(route, all_paths) + self.assertEqual( + related[0].path, "/guide/inventory/manage-inventory-segments.html" + ) + + def test_parse_settings_index_resolves_copy_titles(self) -> None: + import tempfile + + with tempfile.TemporaryDirectory() as tmp: + root = Path(tmp) + (root / "src/pages/Settings").mkdir(parents=True) + (root / "src/copy").mkdir(parents=True) + (root / "src/copy/base.en.ts").write_text( + "export const base = {\n" + " 'segments.navLabel': 'Inventory Segments',\n" + " 'settings.inventorySectionTitle':\n" + " 'Model Inventory',\n" + "};\n", + encoding="utf-8", + ) + (root / "src/pages/Settings/index.tsx").write_text( + "\n" + " \n" + "\n", + encoding="utf-8", + ) + routes = gen.parse_settings_index(root) + self.assertEqual(len(routes), 1) + self.assertEqual(routes[0].path, "/settings/segments") + self.assertEqual(routes[0].label, "Inventory Segments") + self.assertEqual(routes[0].group, "Model Inventory") + def test_file_to_route_hint_settings_index(self) -> None: self.assertEqual( gen.file_to_route_hint(Path("src/pages/Settings/index.tsx")), From fb62be46e3edbf6b55fe64d6504a50d267f807fd Mon Sep 17 00:00:00 2001 From: Emma Van Der Heide Date: Thu, 27 Aug 2026 20:19:18 -0400 Subject: [PATCH 3/5] [SC-18067] Fix filters callout escaping the content column The segment bullet in the inventory block of _work-with-filters.qmd carried a margin footnote. A margin footnote inside the collapsible 'How do I create effective filters?' box forces Quarto to stamp the callout-button wrapper with page-columns/page-full, which pushes the box under the left sidebar and strands the footnote link beneath it (on manage-inventory-segments and working-with-the-inventory). Cross-reference the Manage inventory segments page with an inline link instead. The identical bullet in the includes.all block is untouched: the standalone work-with-filters page renders margin footnotes normally. Co-Authored-By: Claude Fable 5 --- site/guide/shared/_work-with-filters.qmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/site/guide/shared/_work-with-filters.qmd b/site/guide/shared/_work-with-filters.qmd index c9ae57e1ee..72d58cf76d 100644 --- a/site/guide/shared/_work-with-filters.qmd +++ b/site/guide/shared/_work-with-filters.qmd @@ -45,7 +45,7 @@ Value editor - **[record information]{.smallcaps}** — One of the inventory record fields always created by {{< var vm.product >}}, such as the Business Unit. - **[stakeholders]{.smallcaps}** — Record Owner, Record Developer, or Record Validator, or custom stakeholders if applicable. - **[record fields]{.smallcaps}** — One of the organization-specific inventory record fields you added for your own use, by field group. -- **[segment]{.smallcaps}** — A published inventory segment: a named, reusable filter managed by your organization's administrators. Available on the inventory only.^[[Manage inventory segments](/guide/inventory/manage-inventory-segments.qmd)] +- **[segment]{.smallcaps}** — A published [inventory segment](/guide/inventory/manage-inventory-segments.qmd): a named, reusable filter managed by your organization's administrators. Available on the inventory only. :::: From ee7674426a7d525527c8647081a4f599a4ae578c Mon Sep 17 00:00:00 2001 From: Emma Van Der Heide Date: Thu, 27 Aug 2026 20:44:56 -0400 Subject: [PATCH 4/5] [SC-18067] Reduce filters callout negative margin so it clears the bullets With page-full gone, the .nt4 top margin pulls the collapsible filters box up over the sub-bullet list that precedes it on both pages. .nt2 keeps it snug without overlapping, matching the attestation include's use of the same pattern after list items. Co-Authored-By: Claude Fable 5 --- site/guide/inventory/manage-inventory-segments.qmd | 2 +- site/guide/inventory/working-with-the-inventory.qmd | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/site/guide/inventory/manage-inventory-segments.qmd b/site/guide/inventory/manage-inventory-segments.qmd index 2af24d1e6c..fb03576f83 100644 --- a/site/guide/inventory/manage-inventory-segments.qmd +++ b/site/guide/inventory/manage-inventory-segments.qmd @@ -61,7 +61,7 @@ By default, only the [{{< fa hand >}} Customer Admin]{.bubble} role can add segm - Inventory Record Type is available as a condition, so you can scope a segment to specific record types. - A segment cannot reference another segment, so Segment is not offered as a condition field here. -::: {.callout-button .pl4 .nt4} +::: {.callout-button .pl4 .nt2} ::: {.callout collapse="true" appearance="minimal"} ### How do I create effective filters? diff --git a/site/guide/inventory/working-with-the-inventory.qmd b/site/guide/inventory/working-with-the-inventory.qmd index 79c17e8896..664dcf22de 100644 --- a/site/guide/inventory/working-with-the-inventory.qmd +++ b/site/guide/inventory/working-with-the-inventory.qmd @@ -48,7 +48,7 @@ Use the {{< var vm.product >}} inventory to track comprehensive details for all - **{{< fa arrow-up-wide-short >}} Sort** — Reorder the list using different criteria in ascending or descending order. - **{{< fa layer-group >}} Group By** — Organize the table view into collapsible sections by field.[^3] -::: {.callout-button .pl4 .nt4} +::: {.callout-button .pl4 .nt2} ::: {.callout collapse="true" appearance="minimal"} ### How do I create effective filters? From 40e27460d2119b3067d17a8d2158b4dedbbc0921 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 28 Aug 2026 01:05:41 +0000 Subject: [PATCH 5/5] chore: refresh chatbot product map --- site/llm/chatbot-product-map.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/site/llm/chatbot-product-map.md b/site/llm/chatbot-product-map.md index 141dcd35f9..c3274b8f14 100644 --- a/site/llm/chatbot-product-map.md +++ b/site/llm/chatbot-product-map.md @@ -264,7 +264,7 @@ - `/guide/configuration/configuring-private-connectivity.html` - Sections: What's next - `/guide/configuration/customize-your-dashboard.html` - - Sections: Prerequisites; Manage dashboards; Add dashboards; Edit or remove dashboards; Manage widgets; Arrange widgets; Add widgets; Remove widgets + - Sections: Prerequisites; Manage dashboards; Add dashboards; Edit or remove dashboards; Share a dashboard with your organization; Manage widgets; Arrange widgets; Add widgets - *No direct help link in frontend; related docs inferred from keywords.* @@ -283,7 +283,7 @@ - `/guide/configuration/configuring-private-connectivity.html` - Sections: What's next - `/guide/configuration/customize-your-dashboard.html` - - Sections: Prerequisites; Manage dashboards; Add dashboards; Edit or remove dashboards; Manage widgets; Arrange widgets; Add widgets; Remove widgets + - Sections: Prerequisites; Manage dashboards; Add dashboards; Edit or remove dashboards; Share a dashboard with your organization; Manage widgets; Arrange widgets; Add widgets - *No direct help link in frontend; related docs inferred from keywords.* @@ -302,7 +302,7 @@ - `/guide/configuration/configuring-private-connectivity.html` - Sections: What's next - `/guide/configuration/customize-your-dashboard.html` - - Sections: Prerequisites; Manage dashboards; Add dashboards; Edit or remove dashboards; Manage widgets; Arrange widgets; Add widgets; Remove widgets + - Sections: Prerequisites; Manage dashboards; Add dashboards; Edit or remove dashboards; Share a dashboard with your organization; Manage widgets; Arrange widgets; Add widgets - *No direct help link in frontend; related docs inferred from keywords.* @@ -323,7 +323,7 @@ - `/guide/inventory/customize-record-overview-page.html` - Sections: Prerequisites; Organize, show, or hide record fields; Highlight inventory record fields; Manage record field layouts; Manage personal record field layouts; Manage organization record field layouts - `/guide/inventory/edit-inventory-fields.html` - - Sections: Prerequisites; Edit fields on individual records; Manage inventory record stakeholders; Manage attachments on records; Edit fields in bulk for multiple records + - Sections: Prerequisites; Edit fields on individual records; Manage inventory record stakeholders; Insert field variables into a Long Text field; Manage attachments on records; Edit fields in bulk for multiple records - *No direct help link in frontend; related docs inferred from keywords.* @@ -385,7 +385,7 @@ - `/guide/inventory/customize-record-overview-page.html` - Sections: Prerequisites; Organize, show, or hide record fields; Highlight inventory record fields; Manage record field layouts; Manage personal record field layouts; Manage organization record field layouts - `/guide/inventory/edit-inventory-fields.html` - - Sections: Prerequisites; Edit fields on individual records; Manage inventory record stakeholders; Manage attachments on records; Edit fields in bulk for multiple records + - Sections: Prerequisites; Edit fields on individual records; Manage inventory record stakeholders; Insert field variables into a Long Text field; Manage attachments on records; Edit fields in bulk for multiple records #### `/settings/primary-record-types` — Inventory Record Types @@ -402,7 +402,7 @@ - `/guide/inventory/customize-record-overview-page.html` - Sections: Prerequisites; Organize, show, or hide record fields; Highlight inventory record fields; Manage record field layouts; Manage personal record field layouts; Manage organization record field layouts - `/guide/inventory/edit-inventory-fields.html` - - Sections: Prerequisites; Edit fields on individual records; Manage inventory record stakeholders; Manage attachments on records; Edit fields in bulk for multiple records + - Sections: Prerequisites; Edit fields on individual records; Manage inventory record stakeholders; Insert field variables into a Long Text field; Manage attachments on records; Edit fields in bulk for multiple records - *No direct help link in frontend; related docs inferred from keywords.* @@ -421,7 +421,7 @@ - `/guide/inventory/customize-record-overview-page.html` - Sections: Prerequisites; Organize, show, or hide record fields; Highlight inventory record fields; Manage record field layouts; Manage personal record field layouts; Manage organization record field layouts - `/guide/inventory/edit-inventory-fields.html` - - Sections: Prerequisites; Edit fields on individual records; Manage inventory record stakeholders; Manage attachments on records; Edit fields in bulk for multiple records + - Sections: Prerequisites; Edit fields on individual records; Manage inventory record stakeholders; Insert field variables into a Long Text field; Manage attachments on records; Edit fields in bulk for multiple records - *No direct help link in frontend; related docs inferred from keywords.* @@ -542,7 +542,7 @@ - `/guide/inventory/customize-record-overview-page.html` - Sections: Prerequisites; Organize, show, or hide record fields; Highlight inventory record fields; Manage record field layouts; Manage personal record field layouts; Manage organization record field layouts - `/guide/inventory/edit-inventory-fields.html` - - Sections: Prerequisites; Edit fields on individual records; Manage inventory record stakeholders; Manage attachments on records; Edit fields in bulk for multiple records + - Sections: Prerequisites; Edit fields on individual records; Manage inventory record stakeholders; Insert field variables into a Long Text field; Manage attachments on records; Edit fields in bulk for multiple records #### `/settings/statuses` — Model Stages @@ -564,7 +564,7 @@ - `/guide/inventory/customize-record-overview-page.html` - Sections: Prerequisites; Organize, show, or hide record fields; Highlight inventory record fields; Manage record field layouts; Manage personal record field layouts; Manage organization record field layouts - `/guide/inventory/edit-inventory-fields.html` - - Sections: Prerequisites; Edit fields on individual records; Manage inventory record stakeholders; Manage attachments on records; Edit fields in bulk for multiple records + - Sections: Prerequisites; Edit fields on individual records; Manage inventory record stakeholders; Insert field variables into a Long Text field; Manage attachments on records; Edit fields in bulk for multiple records ### Documents @@ -759,7 +759,7 @@ **Docs (related):** - `/guide/configuration/customize-your-dashboard.html` - - Sections: Prerequisites; Manage dashboards; Add dashboards; Edit or remove dashboards; Manage widgets; Arrange widgets; Add widgets; Remove widgets + - Sections: Prerequisites; Manage dashboards; Add dashboards; Edit or remove dashboards; Share a dashboard with your organization; Manage widgets; Arrange widgets; Add widgets - *No direct help link in frontend; related docs inferred from keywords.*