Skip to content

QUA-1024: Restructure Expected Values check docs#1140

Open
RafaelOsiro wants to merge 2 commits into
mainfrom
qua-1024-expected-values-restructure
Open

QUA-1024: Restructure Expected Values check docs#1140
RafaelOsiro wants to merge 2 commits into
mainfrom
qua-1024-expected-values-restructure

Conversation

@RafaelOsiro

@RafaelOsiro RafaelOsiro commented Jun 10, 2026

Copy link
Copy Markdown
Contributor

Overview

Restructures the Expected Values check docs into the cluster pattern (Introduction / How It Works / Examples / API / FAQ) used by Unique and Entity Resolution.

Key Changes

  • Introduction: new cluster entry page with Definition, Overview, Field Scope, Accepted Types, General Properties, Specific Properties (List + spacing-warning info admonition), Anomaly Types, plain-text Next Steps cards.
  • How It Works: full semantics on NULL handling, type coercion, case/whitespace sensitivity, array auto-element evaluation, filter ordering, coverage tolerance, Record vs Shape anomaly templates, source-records rendering, and pairings with related rule types.
  • Examples: three scenarios (status enum, country code with filter, Array[String] element-wise). Sample Data tables follow the app's source-records view via the new .anomalous-cell utility class (orange outline + warning-tinted background).
  • API: endpoints, payload, field notes, and Author/Reporter team-permission phrasing.
  • FAQ: short answers on NULLs, case, whitespace, arrays, anomaly reporting, and configuration.
  • Spacing-warning component: copy updated to describe the yellow chip background and the warning icon next to the field title (hover reveals the full list of affected values); screenshot removed and warning.png deleted.
  • Cross-links and redirects: overview-of-a-check.md and rule-types-overview.md now point at the new Introduction. mkdocs.yml adds redirects from checks/expected-values-check.md and data-quality-checks/expected-values-check.md so existing bookmarks keep working.

Pages to Test

…mples/api/faq

Splits the legacy single-page Expected Values rule type doc into the
cluster pattern used by Unique and Entity Resolution:

- introduction.md: definition, overview, field scope, accepted types,
  general/specific properties (with spacing-warning include), anomaly
  types, plain-text Next Steps cards.
- how-it-works.md: full semantics on NULL handling, type coercion,
  case/whitespace sensitivity, array auto-element evaluation,
  filter ordering, coverage tolerance, Record/Shape anomaly templates,
  source-records rendering, and pairings with related rule types.
- examples.md: three scenarios (status enum, country code with filter,
  Array[String] element-wise). Sample Data tables mirror the app's
  source-records view, with the new .anomalous-cell utility class
  reproducing the orange-outline + warning-tinted background applied
  in source-records-container.vue.
- api.md: endpoints, payload, and field notes.
- faq.md: NULL, case, whitespace, arrays, anomaly reporting, configuration.

Other changes:

- mkdocs.yml: nav now points at the cluster; legacy paths
  checks/expected-values-check.md and data-quality-checks/expected-values-check.md
  redirect to expected-values/introduction.md so existing bookmarks
  keep working.
- overview-of-a-check.md and rule-types-overview.md: cross-link updated
  to the new introduction.
- components/general-props/warning.md: rewrote the spacing-warning
  copy to match the current frontend behavior (chip color change only,
  no tooltip) and dropped the now-redundant screenshot. Validated
  against Qualytics/frontend-app@develop:src/components/common/form-builder/item.vue:274.
- stylesheets/extra.css: adds .anomalous-cell utility used by the
  Examples sample-data tables.
- expected-values-check.md and warning.png: removed.

Source verification: rule semantics, anomaly message templates, and
array auto-flag behavior were validated against
Qualytics/controlplane, Qualytics/dataplane, and Qualytics/sparqy on develop.
@RafaelOsiro RafaelOsiro added the documentation Improvements or additions to documentation label Jun 10, 2026
@RafaelOsiro RafaelOsiro self-assigned this Jun 10, 2026
@greptile-apps

greptile-apps Bot commented Jun 10, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR restructures the Expected Values check documentation from a single flat page into a five-page cluster (Introduction, How It Works, Examples, API, FAQ) matching the pattern already established by the Unique check. Legacy URLs are preserved via mkdocs-redirects entries, and the new .anomalous-cell CSS utility class is added with a proper --q-orange-rgb variable so the background tint stays in sync with the orange token.

  • New cluster pages: Introduction, How It Works, Examples (three tabbed scenarios with payloads, flowcharts, and SQL), API, and FAQ — all cross-linked and following the established Unique/Entity Resolution pattern.
  • CSS + component updates: --q-orange-rgb registered in both light/dark theme blocks; .anomalous-cell class references it; warning.md component updated to describe yellow chip, warning icon, and hover tooltip without the removed screenshot.
  • Navigation + redirects: mkdocs.yml nav updated to the new cluster; two redirect entries added so existing bookmarks to expected-values-check.md (under both checks/ and data-quality-checks/) resolve to the new Introduction.

Confidence Score: 4/5

Safe to merge after fixing the whitespace contradiction in the FAQ; all other changes are structural documentation with correct redirects and CSS.

The "Is whitespace trimmed? No" answer and the "pasting trims per line" answer in the same FAQ document give users opposite information about whether their list entries will have spaces stripped. A user copying values from a spreadsheet will believe trimming happens; a user reading the general whitespace answer will believe it never does. One of those answers needs to be qualified before users act on the wrong expectation.

docs/data-quality-checks/expected-values/faq.md — the whitespace-trimming Q&A and the paste Q&A need to be reconciled to avoid contradictory guidance.

Important Files Changed

Filename Overview
docs/data-quality-checks/expected-values/faq.md New FAQ page; contains a direct contradiction between the whitespace-trimming answer ("No, the modal does not trim") and the paste answer ("the platform trims leading/trailing whitespace per line").
docs/data-quality-checks/expected-values/introduction.md New cluster entry page; follows Unique pattern correctly, include-markdown paths match the docs-root-relative convention used by sibling cluster files.
docs/data-quality-checks/expected-values/how-it-works.md New how-it-works page; NULL handling, type coercion, array fields, filter, coverage, and anomaly templates all documented; cross-links verified as existing files.
docs/data-quality-checks/expected-values/examples.md New examples page; three tabbed scenarios with payloads, flowcharts, and SQL; anomalous-cell class used correctly; prose now says "similar to" instead of "mirrors."
docs/data-quality-checks/expected-values/api.md New API page; full payload example with all accepted fields, field notes table is accurate, permission line uses Author/Reporter phrasing.
docs/stylesheets/extra.css Adds --q-orange-rgb variable in both light/dark themes and .anomalous-cell class that references it — resolves the rgba drift risk noted in the previous review.
mkdocs.yml Adds Expected Values cluster to nav and two redirects (checks/expected-values-check.md and data-quality-checks/expected-values-check.md) pointing at the new introduction.
docs/components/general-props/warning.md Updated spacing-warning component; now mentions the yellow chip, the warning icon, and hover-to-see-full-list tooltip; screenshot and img reference removed.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    OLD["data-quality-checks/expected-values-check.md\n(deleted)"]
    REDIRECT1["Redirect: checks/expected-values-check.md"]
    REDIRECT2["Redirect: data-quality-checks/expected-values-check.md"]
    INTRO["introduction.md\n(cluster entry)"]
    HIW["how-it-works.md"]
    EX["examples.md"]
    API["api.md"]
    FAQ["faq.md"]
    OVERVIEW["overview-of-a-check.md"]
    RTOVERVIEW["rule-types-overview.md"]
    CSS["extra.css\n(.anomalous-cell + --q-orange-rgb)"]
    WARNING["components/general-props/warning.md\n(spacing-warning component)"]
    OLD -->|"replaced by"| INTRO
    REDIRECT1 -->|"302"| INTRO
    REDIRECT2 -->|"302"| INTRO
    INTRO --> HIW
    INTRO --> EX
    INTRO --> API
    INTRO --> FAQ
    OVERVIEW -->|"link updated"| INTRO
    RTOVERVIEW -->|"link updated"| INTRO
    CSS -->|"styles anomalous cells in"| EX
    WARNING -->|"included in"| INTRO
Loading
%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%%
flowchart TD
    OLD["data-quality-checks/expected-values-check.md\n(deleted)"]
    REDIRECT1["Redirect: checks/expected-values-check.md"]
    REDIRECT2["Redirect: data-quality-checks/expected-values-check.md"]
    INTRO["introduction.md\n(cluster entry)"]
    HIW["how-it-works.md"]
    EX["examples.md"]
    API["api.md"]
    FAQ["faq.md"]
    OVERVIEW["overview-of-a-check.md"]
    RTOVERVIEW["rule-types-overview.md"]
    CSS["extra.css\n(.anomalous-cell + --q-orange-rgb)"]
    WARNING["components/general-props/warning.md\n(spacing-warning component)"]
    OLD -->|"replaced by"| INTRO
    REDIRECT1 -->|"302"| INTRO
    REDIRECT2 -->|"302"| INTRO
    INTRO --> HIW
    INTRO --> EX
    INTRO --> API
    INTRO --> FAQ
    OVERVIEW -->|"link updated"| INTRO
    RTOVERVIEW -->|"link updated"| INTRO
    CSS -->|"styles anomalous cells in"| EX
    WARNING -->|"included in"| INTRO
Loading

Reviews (2): Last reviewed commit: "docs(expected-values): apply Greptile re..." | Re-trigger Greptile

Comment thread docs/components/general-props/warning.md
Comment thread docs/data-quality-checks/expected-values/examples.md

@ets ets left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approving — greptile-apps scored this 4/5.


Generated by Claude Code

- warning.md: note the alert-icon tooltip that lists values with extra
  spaces; the frontend still renders it next to the field title.
- examples.md: soften the source-records comparison since the doc cell
  adds a background tint that the in-app outline-only cell does not.
- extra.css: introduce --q-orange-rgb so the .anomalous-cell background
  and border stay coupled to a single orange token.
@RafaelOsiro

Copy link
Copy Markdown
Contributor Author

@greptileai review

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants