Skip to content

[No QA] Helpsite refractor fixing duplicates#83294

Merged
VictoriaExpensify merged 14 commits intomainfrom
helpsite-refractor-fixing-duplicates
Mar 5, 2026
Merged

[No QA] Helpsite refractor fixing duplicates#83294
VictoriaExpensify merged 14 commits intomainfrom
helpsite-refractor-fixing-duplicates

Conversation

@stephanieelliott
Copy link
Contributor

Moved Understanding Duplicates into help site nav and renamed to more accurately reflect scope. Also edited peripheral articles to reduce overlap for better AI retrieval.

@stephanieelliott stephanieelliott self-assigned this Feb 24, 2026
@github-actions
Copy link
Contributor

HelpDot Documentation Review

Overall Assessment

This PR restructures duplicate-expense guidance by deleting an unlisted catch-all article (Avoiding-Duplicates.md), creating two new platform-specific articles (How-to-prevent-duplicate-expenses.md for both Expensify Classic and New Expensify), and trimming Edit-expenses.md to remove overlapping duplicate-prevention content. The separation of concerns is a clear improvement for AI retrieval and navigation -- each article now has a focused scope. However, the changes introduce several issues that should be addressed before merging: broken cross-reference anchors, duplicate list items in Edit-expenses.md, a grammar error, lost content coverage for duplicate reports, and inconsistent heading hierarchy.


Scores Summary

  • Readability: 7/10 - Prose is clear and at an appropriate reading level throughout. Sentences are concise and well-structured. Deductions are for a duplicate bullet list in "What fields can be edited," a grammar error ("Expenses with violation can be submitted manually"), and a missing article ("ask approver" should be "ask an approver"). The overall flow of each new article is logical and easy to follow.

  • AI Readiness: 8/10 - Strong performance here. All new and modified files include well-formed internalScope metadata following the required "Audience is... Covers... Does not cover..." pattern. Headings use full task phrasing (e.g., "How to prevent duplicate expenses," "Common reasons SmartScan merge fails"). The keyword arrays are comprehensive and natural. Minor deductions for the heading hierarchy issue in Edit-expenses.md (see below) and for the two new articles having nearly identical internalScope and description fields, which could confuse AI routing between Classic and New Expensify contexts.

  • Style Compliance: 7/10 - Good use of Expensify terminology ("Workspace Admin," "SmartScan," "Draft," "Outstanding"). Markdown structure is mostly correct with proper FAQ sections. Deductions for: inconsistent use of "Web" vs. "Desktop" (the PR changes "Desktop" to "Web," which is fine, but the mobile split section says "Click Save" instead of "Tap Save"), heading hierarchy violations in Edit-expenses.md (mixed # and ## under the same parent), and the title casing inconsistency between YAML title ("How to Prevent Duplicate Expenses" with capitals) and the H1 heading ("How to prevent duplicate expenses in Expensify" in sentence case).


Key Findings

Critical Issues

  1. Broken cross-reference anchors in the Classic duplicate article. The "How to fix duplicate expenses" section links to Edit-expenses#merge-expenses and Edit-expenses#delete-an-expense. However, the PR renames those headings to "How to merge expenses" and "How to delete expenses," which would generate anchors #how-to-merge-expenses and #how-to-delete-expenses. These links will produce 404 anchors on the live help site.

  2. Duplicate bullet items in "What fields can be edited" section of Edit-expenses.md. The list includes "Receipt images" twice (once indented under "Report assignment" and once at the end), and "Category" appears both as a standalone item and within a compound bullet. This appears to be an editing oversight where old and new list items were not fully reconciled.

  3. Lost content: duplicate reports. The deleted Avoiding-Duplicates.md covered duplicate reports (auto-sync + manual export causing double entries in accounting software). Neither new article replaces this content. If this was intentional, consider noting it in the PR description; if not, this guidance should be preserved somewhere.

Moderate Issues

  1. Grammar error in Edit-expenses.md. The sentence "Expenses with violation can be submitted manually, they cannot be submitted automatically" is a comma splice and is missing an article. Suggested fix: "Expenses with violations can be submitted manually. They cannot be submitted automatically."

  2. Missing article in Edit-expenses.md FAQ. "ask approver or Workspace Admin to Unapprove the report" should be "ask an approver or Workspace Admin."

  3. Heading hierarchy inconsistency in Edit-expenses.md. The file mixes # (H1) and ## (H2) headings in a way that breaks expected hierarchy. For example, "How to resolve an expense violation" and "How to split an expense" are ## under the # "How to edit an expense" section, but they are independent topics, not sub-tasks of editing. Meanwhile, "How to delete expenses" is promoted to #. The HelpDot convention calls for # and ## only, used in a consistent parent-child relationship.

  4. "Click Save" in mobile instructions. In the "How to split an expense" mobile steps, step 5 says "Click Save" -- it should say "Tap Save" to match the mobile context.

Positive Aspects

  1. Clear separation of concerns. Moving duplicate-prevention content into its own dedicated articles and trimming it from Edit-expenses.md is a strong architectural decision. This reduces overlap and makes each article more focused for both human readers and AI retrieval.

  2. Well-structured YAML frontmatter. The internalScope fields are well-written and follow the prescribed format. The keywords arrays are comprehensive and include natural-language search phrases like "why didn't my expenses merge" and "receipt didn't merge."

  3. Consistent, clear prose. The new articles use plain language, short sentences, and a logical progression from "why it happens" to "how it works" to "how to prevent it" to "how to fix it." The FAQ sections are relevant and well-targeted.

  4. Appropriate cross-linking strategy. The new articles link back to Edit-expenses.md for step-by-step merge/delete instructions rather than duplicating that content. The New Expensify version links to its own platform-specific articles (Merging-expenses, Delete-Expenses). The linked target files exist in the repository.


Recommendations

Must fix before merge:

  1. Update the anchor links in docs/articles/expensify-classic/expenses/How-to-prevent-duplicate-expenses.md to match the new heading text in Edit-expenses.md. Change #merge-expenses to #how-to-merge-expenses and #delete-an-expense to #how-to-delete-expenses.

  2. Remove the duplicate "Receipt images" and "Category" entries from the "What fields can be edited" section of Edit-expenses.md. Consolidate into a single clean list.

  3. Fix the grammar: "Expenses with violation" should be "Expenses with a violation" or "Expenses with violations." The comma splice should be split into two sentences.

Should fix:

  1. Change "Click Save" to "Tap Save" in the mobile steps for splitting expenses in Edit-expenses.md.

  2. Add the missing article: "ask approver" should be "ask an approver."

  3. Consider whether the duplicate reports content from the deleted article needs a new home. If it was intentionally removed, a note in the PR description would help reviewers understand the decision.

  4. Differentiate the two new duplicate-prevention articles more clearly. Currently, only the keywords (first entry: "Expensify Classic" vs. "New Expensify") and the cross-links differ. Consider whether the New Expensify version should reference different UI flows or terminology if the product experience differs, or add a brief note explaining why the content is intentionally shared.

Nice to have:

  1. Align title casing between the YAML title field and the H1 heading. Either both should use title case or both should use sentence case.

  2. Normalize the heading hierarchy in Edit-expenses.md so that independent task sections (split, merge, delete, violations) are all at the same heading level.


Files Reviewed

File Status Summary
docs/articles/Unlisted/Avoiding-Duplicates.md DELETED Removed catch-all duplicates article. Content partially replaced by two new articles; duplicate reports section has no replacement.
docs/articles/expensify-classic/expenses/Edit-expenses.md MODIFIED Trimmed duplicate-prevention content, added internalScope, restructured headings and steps. Has duplicate list items and minor grammar issues.
docs/articles/expensify-classic/expenses/How-to-prevent-duplicate-expenses.md NEW Focused Classic article on SmartScan merge behavior and prevention. Well-structured; has broken anchor links to Edit-expenses.md.
docs/articles/new-expensify/reports-and-expenses/How-to-prevent-duplicate-expenses.md NEW New Expensify version of duplicate prevention. Nearly identical to Classic version; cross-links point to correct New Expensify articles.

Note: Detailed line-by-line feedback has been provided as inline comments.

Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 1ea826e1ef

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

@stephanieelliott stephanieelliott requested a review from a team as a code owner February 25, 2026 03:48
@melvin-bot
Copy link

melvin-bot bot commented Feb 25, 2026

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 @muttmuure

@melvin-bot melvin-bot bot requested review from muttmuure and puneetlath and removed request for a team February 25, 2026 03:48
@melvin-bot
Copy link

melvin-bot bot commented Feb 25, 2026

@puneetlath @muttmuure One of you needs to 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]

NOTE: It looks like docs/redirects.csv was modified in this PR. Please see this SO for special instructions on how to review changes to that file.

@github-actions github-actions bot changed the title Helpsite refractor fixing duplicates [No QA] Helpsite refractor fixing duplicates Feb 25, 2026
@OSBotify
Copy link
Contributor

OSBotify commented Feb 25, 2026

@stephanieelliott stephanieelliott removed the request for review from puneetlath February 26, 2026 04:18
stephanieelliott and others added 7 commits February 25, 2026 18:19
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
small edits from reviewer bot
muttmuure
muttmuure previously approved these changes Feb 26, 2026
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
@VictoriaExpensify VictoriaExpensify merged commit 058eee1 into main Mar 5, 2026
17 checks passed
@VictoriaExpensify VictoriaExpensify deleted the helpsite-refractor-fixing-duplicates branch March 5, 2026 04:36
@melvin-bot melvin-bot bot added the Emergency label Mar 5, 2026
@melvin-bot
Copy link

melvin-bot bot commented Mar 5, 2026

@VictoriaExpensify looks like this was merged without a test passing. Please add a note explaining why this was done and remove the Emergency label if this is not an emergency.

@OSBotify
Copy link
Contributor

OSBotify commented Mar 6, 2026

🚀 Deployed to staging by https://github.com/VictoriaExpensify in version: 9.3.32-0 🚀

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

@OSBotify
Copy link
Contributor

OSBotify commented Mar 6, 2026

🚀 Deployed to production by https://github.com/blimpich in version: 9.3.32-3 🚀

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

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants