-
Notifications
You must be signed in to change notification settings - Fork 2
Open
Open
Copy link
Description
User story
As a user, I want the Concept Editor to run QA checks for the Names section and show clear validation results as cards so I can fix issues before saving.
Use case
Edit concept names, review QA findings in the Names section, and save only when validation passes.
Requirements
- Run concept-level QA for the Names section (independent from field-level form errors).
- Render QA results inside the Names section as collapsible cards.
- Block Save while validation is running.
- Block Save when any Names QA result has severity error.
- Implement Name QA rules:
- FR-01: Only one Preferred name per locale (error)
- FR-02: No duplicate names within same locale, excluding SHORT (case-sensitive) (error)
- FR-03: Only one SHORT name per locale (error)
- FR-04: SHORT must never be Preferred (error)
- FR-05: Only one FULLY_SPECIFIED name per locale (error)
- FR-18: Capitalization warning (sentence case; preserve exceptions) (warning)
- Reuse existing capitalization-checking behavior in the codebase for FR-18 (if available).
- Save button behavior:
- While validating: disable Save and show [spinning loading] Validating...
- If user attempts to save while validating: show toast "Validation in progress" + message to wait
- If user attempts to save with blocking QA errors: show toast "Save blocked by QA errors" + message to review cards
Acceptance criteria
- Given a concept is being edited, QA results for Names are displayed as collapsible cards with severity, title, and description.
- Given validation is running, Save is disabled and shows [spinning loading] Validating..., and attempting to save shows the validation-in-progress toast.
- Given any Names QA result has severity error, Save remains blocked and attempting to save shows the blocked-by-errors toast.
- Given there are no Names QA errors and validation is not running, Save is enabled.
More details (collapsible)
Included QA rules (Names section)
- FR-01 (error): at most 1 Preferred per locale
- FR-02 (error): no duplicate non-SHORT names within same locale (case-sensitive)
- FR-03 (error): at most 1 SHORT per locale
- FR-04 (error): SHORT cannot be Preferred
- FR-05 (error): at most 1 FULLY_SPECIFIED per locale
- FR-18 (warning): capitalization guidance; reuse existing codebase logic if available
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels
Type
Projects
Status
UAT