Skip to content

[No QA] Restructure Workspace Merchant Rules examples into their own section - #93490

Merged
twisterdotcom merged 3 commits into
mainfrom
claude-merchantRulesExamplesHierarchy
Jul 14, 2026
Merged

twisterdotcom merged 3 commits into
mainfrom
claude-merchantRulesExamplesHierarchy

Conversation

@MelvinBot

Copy link
Copy Markdown
Contributor

Explanation of Change

Restructures the Examples of Workspace Merchant Rules content in the Workspace Merchant Rules help article so the individual examples are easier to parse.

  • Promotes Examples of Workspace Merchant Rules from a ## sub-section to its own top-level # section.
  • Converts each example (Standardize rideshare expenses, Automatically code SaaS and subscription expenses, Standardize merchant name variations, Apply consistent coding for office supply purchases) from a bold lead-in line into its own ## sub-section.

This gives each example a proper heading in the article hierarchy and table of contents, making the section easier to scan and navigate. No content wording was changed — only the heading levels.

Requested by brianlee-expensify in Slack.

Fixed Issues

$
PROPOSAL:

Tests

// TODO: The human co-author must fill out the tests you ran before marking this PR as "ready for review"
// Please describe what tests you performed that validates your changed worked.

  • Verify that no errors appear in the JS console

Offline tests

N/A — documentation-only change.

QA Steps

// TODO: The human co-author must fill out the QA tests you ran before marking this PR as "ready for review".
// Please describe what QA needs to do to validate your changes and what areas do they need to test for regressions.

  • Verify that no errors appear in the JS console

PR Author Checklist

  • I linked the correct issue in the ### Fixed Issues section above
  • I wrote clear testing steps that cover the changes made in this PR
    • I added steps for local testing in the Tests section
    • I added steps for the expected offline behavior in the Offline steps section
    • I added steps for Staging and/or Production testing in the QA steps section
    • I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
    • I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
    • I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).
  • I included screenshots or videos for tests on all platforms
  • I ran the tests on all platforms & verified they passed on:
    • Android: Native
    • Android: mWeb Chrome
    • iOS: Native
    • iOS: mWeb Safari
    • MacOS: Chrome / Safari
  • I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
  • I followed proper code patterns (see Reviewing the code)
  • I followed the guidelines as stated in the Review Guidelines

Screenshots/Videos

N/A — documentation-only change (heading-level restructuring of an existing help article).

…with sub-sections

Co-authored-by: Brian Lee <brianlee-expensify@users.noreply.github.com>
@MelvinBot
MelvinBot requested a review from a team June 12, 2026 22:53
@github-actions github-actions Bot changed the title Restructure Workspace Merchant Rules examples into their own section [No QA] Restructure Workspace Merchant Rules examples into their own section Jun 12, 2026
@OSBotify

This comment has been minimized.

@brianlee-expensify
brianlee-expensify marked this pull request as ready for review June 12, 2026 23:29
@melvin-bot

melvin-bot Bot commented Jun 12, 2026

Copy link
Copy Markdown

Concierge reviewer checklist:

  • I have verified the accuracy of the article
    • The article is within a hub that makes sense, and the navigation is correct
    • All processes, screenshots, and examples align with current product behavior.
    • All links within the doc have been verified for correct destination and functionality.
  • I have verified the readability of the article
    • The article's language is clear, concise, and free of jargon.
    • The grammar, spelling, and punctuation are correct.
    • The article contains at least one image, or that an image is not necessary
  • I have verified the formatting of the article
    • The article has consistent formatting (headings, bullet points, etc.) with other HelpDot articles and that aligns with the HelpDot formatting standards.
    • The article has proper text spacing and breaks for readability.
  • I have verified the article has the appropriate tone and style
    • The article's tone is professional, friendly, and suitable for the target audience.
    • The article's tone, terminology, and voice are consistent throughout.
  • I have verified the overall quality of the article
    • The article is not missing any information, nor does it contain redundant information.
    • The article fully addresses user needs.
  • I have verified that all requested improvements have been addressed

For more detailed instructions on completing this checklist, see How do I review a HelpDot PR as a Concierge Team member?

cc @twisterdotcom

@melvin-bot
melvin-bot Bot requested review from twisterdotcom and removed request for a team June 12, 2026 23:29
@melvin-bot

melvin-bot Bot commented Jun 12, 2026

Copy link
Copy Markdown

@twisterdotcom Please copy/paste the Reviewer Checklist from here into a new comment on this PR and complete it. If you have the K2 extension, you can simply click: [this button]

@github-actions

Copy link
Copy Markdown
Contributor

HelpDot Documentation Review

Overall Assessment

This PR modifies heading levels in the "Examples of Workspace Merchant Rules" section of the Workspace Merchant Rules article. It promotes a ## heading to # and converts bold text items to ## headings. While the intent to improve structure is understandable, the changes introduce violations of the governance rules.

Scores Summary

  • Readability: 6/10 - The new ## headings for the example scenarios improve scannability compared to bold text, which is a positive change. However, the additional # heading creates a confusing structural break in the article.
  • AI Readiness: 4/10 - Adding a second # heading ("# Examples of Workspace Merchant Rules") violates the single-# rule, which degrades heading hierarchy for AI retrieval systems. The new ## headings also lack action verbs or question words, violating task-based heading requirements.
  • Style Compliance: 3/10 - Two governance rules are broken: (1) the article now has three # headings instead of the allowed one title plus optional # FAQ, and (2) the new ## headings are noun-phrase/topic-based rather than task-based.

Key Findings

Governance violations introduced by the diff:

  1. Multiple # headings (HELP_AUTHORING_GUIDELINES.md, Section 4 and Section 9): The article title is "How to create Workspace Merchant Rules" (line 14). The diff adds "# Examples of Workspace Merchant Rules" (line 69), creating a second non-FAQ # heading. The rules state: "Exactly one # heading (the article title). No other # headings are allowed except # FAQ."

  2. Non-task-based ## headings (HELP_AUTHORING_GUIDELINES.md, Section 2 and Section 9): The four new ## headings do not start with an action verb or question word:

    • "Standardize rideshare expenses" -- starts with a verb, which is acceptable
    • "Automatically code SaaS and subscription expenses" -- starts with an adverb modifying a verb, borderline acceptable
    • "Standardize merchant name variations" -- starts with a verb, acceptable
    • "Apply consistent coding for office supply purchases" -- starts with a verb, acceptable

    On closer inspection, these headings do begin with action verbs, so they satisfy the task-based requirement. This is a positive aspect of the change.

Positive aspects:

  • Converting bold text to ## headings improves document structure and scannability
  • The new ## headings are appropriately task-based with action verbs
  • The content itself is unchanged and remains clear

Recommendations

  1. Revert the # heading change: Keep "Examples of Workspace Merchant Rules" as a ## heading (its original level) to comply with the single-# rule. The correct fix is: ## Examples of Workspace Merchant Rules

  2. Keep the bold-to-## promotions: Converting the bold text items to ## headings is a good structural improvement, but they should remain nested under a ## parent -- which means the examples section heading itself needs a different approach. Consider either:

    • Keeping the section as ## Examples of Workspace Merchant Rules and leaving the individual examples as bold text (reverting fully), or
    • Restructuring so the individual examples become the ## headings directly (removing the "Examples of Workspace Merchant Rules" heading entirely), or
    • Renaming the section heading to be task-based, e.g., ## How to apply Workspace Merchant Rules for common scenarios, and keeping the examples as bold text beneath it

    Note: using both ## Examples of Workspace Merchant Rules and ## Standardize rideshare expenses at the same heading level would make the examples appear as peer sections rather than sub-items. The governance rules prohibit ###, so the bold-text approach for sub-items may actually be the better structural choice.

  3. Preferred approach: Revert all changes in this diff. The original structure (a ## section heading with bold sub-items) was the most governance-compliant option given the constraint that only # and ## are allowed.

Files Reviewed

  • docs/articles/new-expensify/workspaces/Workspace-Merchant-Rules.md - Heading level changes introduce a # heading violation; bold-to-## conversions are structurally reasonable but create a flat hierarchy issue

Review based on governance files: HELP_AUTHORING_GUIDELINES.md, HELPSITE_NAMING_CONVENTIONS.md, and TEMPLATE.md.

---

## Examples of Workspace Merchant Rules
# Examples of Workspace Merchant Rules

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.

Heading hierarchy violation: Articles must have exactly one # heading (the article title), plus an optional # FAQ. No other # headings are allowed (HELP_AUTHORING_GUIDELINES.md, Sections 4 and 9).

This creates a second # heading in the article. Additionally, "Examples of Workspace Merchant Rules" is a noun-only/topic-only heading, which is forbidden — all headings must be task-based, starting with an action verb or question word (Section 2).

Suggested fix: Demote this to ## and rephrase as a task-based heading, e.g.:

Suggested change
# Examples of Workspace Merchant Rules
## How to use Workspace Merchant Rules

@stephanieelliott stephanieelliott added the HelpDot Apply this label if the issue relates to ExpensifyHelp label Jun 17, 2026
@stephanieelliott
stephanieelliott removed the request for review from twisterdotcom June 17, 2026 00:09
@stephanieelliott

Copy link
Copy Markdown
Contributor

Hm, I do agree that the formatting isn't the best for human readability, but I don't think moving them into their own headers is a good fix from a retrieval perspective.

Headers are a little tricky, because AZ treats anything with a # as it's own distinct topic. So for example if we move Standardize rideshare expenses into it's own header, then AZ treats that as a standalone topic rather than a subset of Examples of Workspace Merchant Rules.

TBH I think the ultra-detailed examples aren't adding much to the article - @brianlee-expensify what do you think of doing something like this instead?

What can you do with Workspace Merchant Rules?

Workspace Merchant Rules can help you:

  • Standardize merchant names (for example, converting "Starbucks URL does not get highlighted properly in Expensify.cash #1234" to "Starbucks")
  • Automatically categorize expenses (for example, categorizing Uber expenses as Travel)
  • Apply consistent tags (for example, tagging Staples purchases as Office)
  • Mark expenses as reimbursable or non-reimbursable (for example, marking Slack subscriptions as non-reimbursable)
  • Add descriptions or tax settings based on the merchant

@brianlee-expensify

Copy link
Copy Markdown
Contributor

@stephanieelliott ah helpful to know, thank you! and yes your suggestion looks good to me!

@stephanieelliott

Copy link
Copy Markdown
Contributor

Cool! I made the change in the doc -- adding another reviewer since we've both committed to this one!

@stephanieelliott
stephanieelliott requested a review from a team June 23, 2026 02:48
@melvin-bot

melvin-bot Bot commented Jun 23, 2026

Copy link
Copy Markdown

Concierge reviewer checklist:

  • I have verified the accuracy of the article
    • The article is within a hub that makes sense, and the navigation is correct
    • All processes, screenshots, and examples align with current product behavior.
    • All links within the doc have been verified for correct destination and functionality.
  • I have verified the readability of the article
    • The article's language is clear, concise, and free of jargon.
    • The grammar, spelling, and punctuation are correct.
    • The article contains at least one image, or that an image is not necessary
  • I have verified the formatting of the article
    • The article has consistent formatting (headings, bullet points, etc.) with other HelpDot articles and that aligns with the HelpDot formatting standards.
    • The article has proper text spacing and breaks for readability.
  • I have verified the article has the appropriate tone and style
    • The article's tone is professional, friendly, and suitable for the target audience.
    • The article's tone, terminology, and voice are consistent throughout.
  • I have verified the overall quality of the article
    • The article is not missing any information, nor does it contain redundant information.
    • The article fully addresses user needs.
  • I have verified that all requested improvements have been addressed

For more detailed instructions on completing this checklist, see How do I review a HelpDot PR as a Concierge Team member?

cc @sakluger

@melvin-bot
melvin-bot Bot requested a review from sakluger June 23, 2026 02:48
@melvin-bot

melvin-bot Bot commented Jun 23, 2026

Copy link
Copy Markdown

@sakluger Please copy/paste the Reviewer Checklist from here into a new comment on this PR and complete it. If you have the K2 extension, you can simply click: [this button]

@melvin-bot
melvin-bot Bot removed the request for review from a team June 23, 2026 02:48
@sakluger

Copy link
Copy Markdown
Contributor

@stephanieelliott are you sure you committed those changes? When I review the PR, it's still showing the individual headers for each example.

@OSBotify

This comment has been minimized.

@sakluger

sakluger commented Jul 2, 2026

Copy link
Copy Markdown
Contributor

@MelvinBot when I review the adhoc build help page, the ## header next to "What can you do with Merchant Rules?" is showing as ## instead of turning that line into a header. See screenshot below. Any idea why?

Google Chrome 2026-07-02 13 51 05

@MelvinBot

Copy link
Copy Markdown
Contributor Author

Root cause: Line 62 has a stray leading space before the ##:

· ## What can you do with Merchant Rules?
^ leading space

Expensify Help renders these articles with Jekyll/kramdown, which only treats a line as an ATX heading when the #(s) start at the very beginning of the line. That one leading space makes kramdown parse the line as a normal paragraph instead, so the ## shows up as literal text. Every other heading in the file starts at column 0, which is why this is the only one affected.

See docs/articles/new-expensify/workspaces/Workspace-Merchant-Rules.md:62.

Fix: Remove the leading space so the line is exactly ## What can you do with Merchant Rules?.

Want me to push that fix to this PR? Reply @MelvinBot fix it and I'll commit it.

@sakluger

sakluger commented Jul 2, 2026

Copy link
Copy Markdown
Contributor

@MelvinBot fix it.

@MelvinBot

Copy link
Copy Markdown
Contributor Author

The fix is a one-character change: remove the leading space before ## on docs/articles/new-expensify/workspaces/Workspace-Merchant-Rules.md:62 so the line is exactly ## What can you do with Merchant Rules?.

I can only make code changes when directed by the PR author, an assignee, or an existing co-author. To have me implement this, the PR assignee or author should reply with a request tagging me.

@OSBotify

OSBotify commented Jul 2, 2026

Copy link
Copy Markdown
Contributor

A preview of your ExpensifyHelp changes have been deployed to https://d675cf22.helpdot.pages.dev ⚡️

Updated articles:

@brianlee-expensify

Copy link
Copy Markdown
Contributor

@sakluger can you approve this now, or does this require a new review from yet another person? 😂

@twisterdotcom

Copy link
Copy Markdown
Contributor

I can approve.

@twisterdotcom
twisterdotcom self-requested a review July 14, 2026 08:24
@twisterdotcom
twisterdotcom merged commit 4a5fc8d into main Jul 14, 2026
16 checks passed
@twisterdotcom
twisterdotcom deleted the claude-merchantRulesExamplesHierarchy branch July 14, 2026 08:25
@OSBotify

Copy link
Copy Markdown
Contributor

🚀 Deployed to staging by https://github.com/twisterdotcom in version: 9.4.34-0 🚀

platform result
🕸 web 🕸 success ✅
🤖 android 🤖 success ✅
🍎 iOS 🍎 success ✅

@OSBotify

Copy link
Copy Markdown
Contributor

🚀 Deployed to production by https://github.com/roryabraham in version: 9.4.34-14 🚀

platform result
🕸 web 🕸 success ✅
🤖 android 🤖 failure ❌
🍎 iOS 🍎 failure ❌

@OSBotify

Copy link
Copy Markdown
Contributor

🚀 Deployed to production by https://github.com/roryabraham in version: 9.4.34-14 🚀

platform result
🕸 web 🕸 success ✅
🤖 android 🤖 success ✅
🍎 iOS 🍎 success ✅

Bundle Size Analysis (Sentry):

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

Labels

HelpDot Apply this label if the issue relates to ExpensifyHelp

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants