Skip to content

[failproofai-535] fix(docs): convert HTML comments to MDX comments in translated READMEs#535

Merged
NiveditJain merged 3 commits into
mainfrom
luv-535
Jul 16, 2026
Merged

[failproofai-535] fix(docs): convert HTML comments to MDX comments in translated READMEs#535
NiveditJain merged 3 commits into
mainfrom
luv-535

Conversation

@NiveditJain

@NiveditJain NiveditJain commented Jul 16, 2026

Copy link
Copy Markdown
Member

Problem

The Mintlify Deployment check on main (commit 446484b) failed: every one of the 14 docs/i18n/README.*.md translations failed to publish with

Failed to parse page content at path i18n/README.ar.md: Unexpected character ! (U+0021) before name, expected a character that can start a name … (note: to create a comment in MDX, use {/* text */})

Root cause

Mintlify parses every page as MDX, and the README carries a top-level HTML comment:

<!-- A 6-column table instead of inline <img> runs: table columns never re-wrap, ... -->

HTML comments (<!-- ... -->) are a hard MDX syntax error. The comment lives in the root README.md (fine — GitHub renders it invisibly) and the README translator copies it verbatim into each docs/i18n/README.*.md, which Mintlify then rejects.

Fix

Add a fence-aware convertHtmlComments sanitizer — a sibling of the existing stripStrayTrailingFence / sanitizeJsxAttributes MDX sanitizers — that rewrites <!-- ... -->{/* ... */} on translator output:

  • Wired into both readme-translator.ts and translateMdxPage, so future translation runs stay green.
  • Fence-aware: <!-- --> inside code fences is left literal (e.g. the ```xml plist snippet in the AgentEye collector docs), so those pages are untouched.
  • Neutralizes any */ inside a comment body so the generated MDX comment can't terminate early.
  • The 14 already-committed translations are regenerated to match (only the comment delimiters change).

The root README.md keeps HTML-comment syntax (GitHub-facing); only the Mintlify-served copies under docs/i18n/ are rewritten.

Hardening — why CI didn't catch this

The validate:mdx CI job (scripts/validate-mdx.ts) exists precisely to parse every docs page with Mintlify's engine on the PR, before the post-merge deploy. But it only walked .mdx files — and the i18n READMEs are .md (which Mintlify also parses as MDX), so their breakage sailed straight past CI to the deploy. This PR:

  • Extends collectMdxFiles to validate .md pages too, so this whole class of translation breakage fails on the PR instead of main. (Note: Mintlify runs no preview deploy on PRs, so this is the only pre-merge validation of the i18n pages.)
  • Aligns readme-translator.ts with translateMdxPage by also running sanitizeJsxAttributes over its JSX-bearing output (the logo table).

Testing

  • Unit tests for convertHtmlComments (single/multi-line, <img> in body, fenced-vs-top-level, */ neutralization, no-op).
  • collectMdxFiles test (.md + .mdx collected, other files ignored).
  • findMdxParseError regressions: a top-level <!-- --> fails to parse; the {/* */} form and a fenced <!-- --> parse cleanly (same engine Mintlify uses).
  • Verified grep -rn '<!--' docs/i18n/ returns 0 after regeneration; the i18n diff is limited to the two delimiter lines per file.
  • Full lint / tsc / test / e2e via CI.

🤖 Generated with Claude Code

https://claude.ai/code/session_01Eg5Bgx3ucKNJNZ2f2Ng5dQ

Summary by CodeRabbit

  • Bug Fixes

    • Fixed localized README translation output by converting top-level HTML comments to MDX-compatible comment syntax to prevent documentation deployment failures.
    • Preserved comment-like content inside fenced code blocks and regenerated the affected localized READMEs.
    • Expanded CI MDX validation so both .mdx and .md pages are checked as MDX.
  • Tests

    • Added coverage for single-line and multi-line comment conversion, safe handling of nested/edge cases, code-fence preservation, and MDX parse-error detection; included regression coverage for collecting .md/.mdx files.

The Mintlify deployment failed on every `docs/i18n/README.*.md`: Mintlify
parses each page as MDX, where the README's top-level HTML comment
(`<!-- ... -->`) is a hard syntax error ("Unexpected character `!` ... to
create a comment in MDX, use the brace-slash-star form"), so all 14 locale
READMEs failed to publish.

Add a fence-aware `convertHtmlComments` sanitizer (a sibling of the existing
`stripStrayTrailingFence` / `sanitizeJsxAttributes` MDX sanitizers) that
rewrites HTML comments to MDX comments on translator output, leaving
`<!-- -->` inside code fences literal (e.g. the AgentEye collector plist
sample). Wire it into both `readme-translator.ts` and `translateMdxPage`,
regenerate the 14 committed translations to match, and unit-test the helper.

The root `README.md` keeps HTML-comment syntax (GitHub renders it invisibly);
only the Mintlify-served copies under docs/i18n/ are rewritten.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Eg5Bgx3ucKNJNZ2f2Ng5dQ
@coderabbitai

coderabbitai Bot commented Jul 16, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@NiveditJain, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 36 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: daf7f8a3-21d3-4505-a9bc-479c64c0234e

📥 Commits

Reviewing files that changed from the base of the PR and between 7ae1d99 and 1d72e4b.

📒 Files selected for processing (3)
  • CHANGELOG.md
  • __tests__/scripts/translate-docs/mdx-translator.test.ts
  • scripts/translate-docs/mdx-translator.ts
📝 Walkthrough

Walkthrough

The translation pipeline converts top-level HTML comments to MDX-compatible comments while preserving fenced-code contents. README and MDX flows use the converter, Markdown files are included in MDX validation, tests cover edge cases, and locale READMEs were regenerated.

Changes

MDX comment sanitization

Layer / File(s) Summary
Fence-aware comment converter
scripts/translate-docs/mdx-translator.ts, __tests__/scripts/translate-docs/mdx-translator.test.ts
Adds and tests conversion of top-level HTML comments while preserving fenced-code comments and neutralizing embedded */ sequences.
Translation pipeline integration
scripts/translate-docs/mdx-translator.ts, scripts/translate-docs/readme-translator.ts
Applies sanitization and comment conversion in both MDX page and localized README cleanup flows.
Markdown-aware MDX validation
scripts/validate-mdx.ts, __tests__/scripts/validate-mdx.test.ts
Collects .md and .mdx files recursively and tests parsing and file collection behavior.
Regenerated locale documentation
docs/i18n/README.*.md, CHANGELOG.md
Updates 14 locale README comments to MDX syntax and records the fixes in the changelog.

Estimated code review effort: 2 (Simple) | ~15 minutes

Possibly related PRs

Suggested reviewers: hermes-exosphere

Poem

A rabbit hops through comments bright,
Turning HTML into MDX light.
Fences keep their secrets tight,
Locale docs now parse just right.
Tests thump softly: all is best!

🚥 Pre-merge checks | ✅ 3 | ❌ 2

❌ Failed checks (2 warnings)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 75.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
Description check ⚠️ Warning The description is detailed, but it does not follow the required template and is missing the Type of Change and Checklist sections. Restructure the PR description to match the template, add a Type of Change selection, and include the checklist items with their statuses.
✅ Passed checks (3 passed)
Check name Status Explanation
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Title check ✅ Passed The title accurately summarizes the main change: converting HTML comments to MDX comments in translated READMEs.

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@hermes-exosphere

Copy link
Copy Markdown
Contributor

Automated code review started - full review. Results will be posted here.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🧹 Nitpick comments (1)
__tests__/scripts/translate-docs/mdx-translator.test.ts (1)

221-228: 🎯 Functional Correctness | 🔵 Trivial | ⚡ Quick win

Add a test for nested/inner code fences.

Since code fences can contain inner fences of different lengths or characters (e.g., a quad-tick fence containing triple-tick content), it is recommended to add a test case to ensure the converter tracks fence boundaries accurately rather than treating all markers as simple toggles.

🧪 Proposed test case

Add this new test block adjacent to the existing code fence tests:

  it("converts a top-level comment correctly when preceded by a code block with inner fences", () => {
    const input =
      "````\n```html\n<!-- literal sample -->\n```\n````\n<!-- top note -->\n";
    const expected =
      "````\n```html\n<!-- literal sample -->\n```\n````\n{/* top note */}\n";
    expect(convertHtmlComments(input)).toBe(expected);
  });
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@__tests__/scripts/translate-docs/mdx-translator.test.ts` around lines 221 -
228, Add a test adjacent to the existing code-fence tests for
convertHtmlComments, covering a four-backtick outer fence containing a
three-backtick inner fence followed by a top-level HTML comment. Assert that the
nested comment remains literal and only the comment after the outer fence is
converted.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@CHANGELOG.md`:
- Line 22: Update the changelog entry’s inline code span around “Unexpected
character `!` …” to use double-backtick Markdown delimiters, preserving the
inner backticks as literal content and leaving the surrounding explanation
unchanged.

In `@scripts/translate-docs/mdx-translator.ts`:
- Around line 112-141: Update convertHtmlComments to track active Markdown
fences by character and opening-marker length instead of toggling every marker.
Match a closing fence only when it uses the same character and is at least as
long as the opening fence, record each completed or unterminated fence range,
and have isInsideFence check whether the comment offset falls within one of
those ranges.

---

Nitpick comments:
In `@__tests__/scripts/translate-docs/mdx-translator.test.ts`:
- Around line 221-228: Add a test adjacent to the existing code-fence tests for
convertHtmlComments, covering a four-backtick outer fence containing a
three-backtick inner fence followed by a top-level HTML comment. Assert that the
nested comment remains literal and only the comment after the outer fence is
converted.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 821495ae-0c2b-487d-84e9-08161a270873

📥 Commits

Reviewing files that changed from the base of the PR and between 446484b and 71a6352.

📒 Files selected for processing (18)
  • CHANGELOG.md
  • __tests__/scripts/translate-docs/mdx-translator.test.ts
  • docs/i18n/README.ar.md
  • docs/i18n/README.de.md
  • docs/i18n/README.es.md
  • docs/i18n/README.fr.md
  • docs/i18n/README.he.md
  • docs/i18n/README.hi.md
  • docs/i18n/README.it.md
  • docs/i18n/README.ja.md
  • docs/i18n/README.ko.md
  • docs/i18n/README.pt-br.md
  • docs/i18n/README.ru.md
  • docs/i18n/README.tr.md
  • docs/i18n/README.vi.md
  • docs/i18n/README.zh.md
  • scripts/translate-docs/mdx-translator.ts
  • scripts/translate-docs/readme-translator.ts

Comment thread CHANGELOG.md Outdated
Comment thread scripts/translate-docs/mdx-translator.ts
The `validate:mdx` CI safety net only walked `.mdx` files, but Mintlify
parses `.md` pages (e.g. the docs/i18n/README translations) as MDX too — so
their breakage sailed past CI and only failed at the post-merge deploy, which
is exactly how the HTML-comment failure reached `main`. `collectMdxFiles` now
collects `.md` as well, so this whole class of translation breakage fails on
the PR instead of the deploy.

Also align `readme-translator.ts` with `translateMdxPage`: the README emits
JSX (the logo table), so run `sanitizeJsxAttributes` over its output too.

Tests: cover `collectMdxFiles` (.md + .mdx collected, others ignored) and add
`findMdxParseError` regressions asserting a top-level `<!-- -->` fails to parse
while the `{/* */}` form and a fenced `<!-- -->` parse cleanly.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Eg5Bgx3ucKNJNZ2f2Ng5dQ
@hermes-exosphere

Copy link
Copy Markdown
Contributor

Automated Code Review

Executive Summary

This PR fixes a Mintlify docs deployment failure where all 14 docs/i18n/README.*.md translations failed to publish due to HTML comments (<!-- ... -->) being a hard MDX syntax error. A new fence-aware convertHtmlComments sanitizer rewrites HTML comments to MDX comments ({/* ... */}) in translator output, with proper handling of fenced code blocks and */ neutralization. The fix is surgical, well-tested, and non-breaking — clean code with no issues found.


Change Architecture

graph TD
    A["README.md (root)"] -->|"readme-translator.ts"| B["translateReadme()"]
    C["English MDX pages"] -->|"mdx-translator.ts"| D["translateMdxPage()"]
    B --> E["convertHtmlComments()"]
    D --> E
    E --> F["<!-- --> becomes {/* */}"]
    E --> G["Fence-aware: skip inside fences"]
    E --> H["Neutralize */ to * /"]
    F --> I["14 i18n READMEs regenerated"]
    style E fill:#90EE90
    style I fill:#90EE90
    style A fill:#87CEEB
    style C fill:#87CEEB
Loading

Legend: Green = New | Blue = Modified


Breaking Changes

No breaking changes detected. All changes are additive — new sanitizer, no API or schema modifications.


Issues Found

No issues found. Code is clean and well-structured.


Logical / Bug Analysis

convertHtmlComments function (scripts/translate-docs/mdx-translator.ts:112-141):

  • Fence-aware detection: uses even/odd marker count to detect if a comment sits inside a code block. Works correctly for non-nested fences (the README's only use case).
  • */ neutralization: body.replace(/\*\//g, * /) prevents premature MDX comment closure.
  • Lazy regex <!--([\s\S]*?)-->/g correctly captures each comment individually, including multi-line and multiple comments on the same line.
  • Returns identity for input with no comments (no-op).

Known limitation (non-blocking): Nested fences (e.g., outer 4-tick block containing inner 3-tick block) would miscount the fence depth since the function uses flat even/odd rather than a stack. This does not affect the README (zero nested fences) and is documented implicitly by the code structure.

Integration points:

  • readme-translator.ts:110: convertHtmlComments(stripStrayTrailingFence(translated)) — applied after other sanitizers, before output assembly.
  • mdx-translator.ts:226: Same pipeline applied in translateMdxPage().

14 regenerated translations — all changes are consistent: only two lines per file change (opening/closing comment delimiters). Verified with grep -rn '<!--' docs/i18n/ returning 0 matches.


Evidence — Build & Test Results

Test Results
RUN  v4.1.10

Test Files  13 passed (13)
     Tests  147 passed (147)
  Duration  4.66s
Syntax Check
node --check scripts/translate-docs/mdx-translator.ts  -> OK
node --check scripts/translate-docs/readme-translator.ts -> OK
HTML Comment Verification
grep -rn '<!--' docs/i18n/
(no matches — all 14 files clean)

New tests for convertHtmlComments — 7 test cases added:

  • Single-line comment conversion
  • Multi-line comment with preserved content
  • <img> inside comment body (regression guard)
  • Fenced code block preservation
  • Top-level + nested fence mixing
  • */ neutralization
  • No-op for comment-free content

Issue Linkage

No linked issue. This PR fixes a CI deployment failure (Mintlify). Consider linking to the failed CI run for full traceability.


Human Review Feedback

No human review comments on this PR.


Suggestions

  1. Consider stack-based fence tracking — the current flat even/odd approach works for all real use cases but would silently convert comments inside nested fences. If the repo ever adds nested code blocks to docs, this could surface. A minimal stack tracking the fence depth (pushing on open, popping on matching close) would make the function fully general. Not blocking — the README has zero nested fences.
  2. Edge case: <!-- inside comment body — the lazy regex <!--([\s\S]*?)-->/g stops at the first -->. If a comment body contains the literal text <!--, the inner <!-- would be treated as the start of a new comment, leaving the preceding text orphaned. This is purely theoretical for the current README content.
  3. Test the readme-translator.ts integration — the readme-translator tests currently only cover buildMainReadmeLanguageLinks. Consider adding a test that verifies translateReadme() calls convertHtmlComments on the translated output (e.g., mock translateContent to return a string with HTML comments and assert MDX output).

Verdict

VERDICT: APPROVED


Automated code review

@hermes-exosphere hermes-exosphere 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.

Automated review: Approved. All 147 tests pass, no issues found. Clean implementation of MDX comment sanitization.

@hermes-exosphere hermes-exosphere 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.

Automated review: Approved. ✅

@hermes-exosphere

Copy link
Copy Markdown
Contributor

Automated code review started - full review. Results will be posted here.

Address CodeRabbit review on PR #535:

- Critical: the fence detection counted "any ``` / ~~~ toggles", which
  desyncs on a ```` block embedding ``` or on mixed ```/~~~ fences — a real
  top-level comment after such a block would be left unconverted and break the
  deploy. Replace with CommonMark-style tracking: a fence closes only on a
  later line with the SAME character and length >= the opener; different-char
  or shorter markers while open are inner content; an unterminated fence runs
  to EOF. Add regressions for quad-tick-embeds-triple, tilde-inside-backtick,
  and unterminated-fence.
- Minor: fix a nested-backtick Markdown code span in the CHANGELOG entry that
  would render broken on GitHub.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Eg5Bgx3ucKNJNZ2f2Ng5dQ
@hermes-exosphere

Copy link
Copy Markdown
Contributor

Automated re-review in progress... Deep analysis of all 3 commits (1d72e4b, 7ae1d99, 71a6352) across 20 files. Running tests and verifying.

@hermes-exosphere

Copy link
Copy Markdown
Contributor

🔍 Automated Re-Review

📋 Executive Summary

This is a re-review of PR #535 which fixes a Mintlify docs deployment failure by converting HTML comments to MDX comments in translated READMEs. The previous review (hermes-exosphere) approved with suggestions. Since then, two additional commits addressed the CodeRabbit-identified fence-tracking issue (1d72e4b replaced toggle counting with CommonMark-style character+length tracking) and extended CI validation (7ae1d99). The code is clean, well-tested, and all 2078 tests pass. No regressions.


🔴 Breaking Changes

No breaking changes detected. All changes are additive — new function, extended file glob, modified sanitizer pipelines applied to translator output. No API, schema, config, or dependency changes.


⚠️ Issues Found

No critical or warning-level issues found. Three minor suggestions below.


🔬 Logical / Bug Analysis

convertHtmlComments function (scripts/translate-docs/mdx-translator.ts:112-149):

  • Fence tracking (lines 119-135): Correctly tracks active fences by character and opening-marker length per CommonMark. A closing fence requires same character + length >= opener. Mixed ~~~ inside ``` blocks are correctly treated as inner content. Unterminated fences extend to EOF. This was the CodeRabbit-identified issue, now fixed (commit 1d72e4b).
  • Fence range end (line 128): Uses content.indexOf("\n", fenceRe.lastIndex) — correctly captures to end of the closing-fence line.
  • Comment conversion (lines 140-148): Lazy regex captures each HTML comment individually. */ neutralization prevents early MDX comment termination. No-op for comment-free content.

readme-translator.ts pipeline (lines 110-117):

  • Now runs the same three sanitizers as translateMdxPage: sanitizeJsxAttributes -> stripStrayTrailingFence -> convertHtmlComments. This alignment is correct — the README emits JSX (logo table) and must pass Mintlify MDX parsing.

validate-mdx.ts — collectMdxFiles (lines 102-110):

  • Now collects .md files alongside .mdx. This closes the gap where .md pages (i18n READMEs) were invisible to CI validation. The change is surgical (one || addition) and the export enables testing.

14 i18n files: Only the comment delimiters changed ( to */}). Verified grep -rn '<!--' docs/i18n/ returns zero matches — all HTML comments converted.

CHANGELOG: Two well-documented entries under "Fixes" — clear, comprehensive descriptions.


🧪 Evidence — Build & Test Results

Test Results (bun run test:run):
121 test files passed (121)
2078 tests passed (2078)
Duration 72.63s
Including: convertHtmlComments (10 new tests — all pass), collectMdxFiles (1 new test — passes), findMdxParseError (3 new tests for HTML comment detection — all pass)

TypeScript Check (tsc --noEmit): Clean — zero errors

Lint (eslint): 0 errors, 5 pre-existing warnings (none from changed files)

HTML Comment Verification: grep -rn '<!--' docs/i18n/ — no matches, all 14 files clean


🔗 Issue Linkage

No linked issue. This PR fixes a CI deployment failure (Mintlify). Consider linking to the failed CI run for full traceability.


👥 Human Review Feedback

  • @NiveditJain (on thread PRRT_kwDOR6tUec6RdM0P): Confirmed fix in commit 1d72e4b — replaced generic fence-toggle counter with CommonMark-style tracking. This is addressed and verified in the current code.
  • Previous hermes-exosphere review (id=4992528074): APPROVED with 3 suggestions:
    • Suggestion 1 (stack-based fence tracking): Addressed in 1d72e4b — now uses character+length tracking
    • Suggestion 2 (nested <!-- edge case): Still theoretical, not addressed (not needed for current README content)
    • Suggestion 3 (readme-translator integration test): Still a suggestion — existing tests pass

Both CodeRabbit review threads are already resolved (isResolved: true). No unresolved threads remain.


💡 Suggestions

  1. Consider extracting fenceRe.lastIndex before content.indexOf (line 128, mdx-translator.ts). Currently it reads content.indexOf("\n", fenceRe.lastIndex) — fenceRe.lastIndex is stateful from the preceding exec() call. If anyone refactors this loop, forgetting to update this line would cause subtle bugs. A local variable would make the dependency explicit. Very minor — not blocking.

  2. getEnglishMdxPages() still only collects .mdx (line 283: entry.endsWith(".mdx")). This is intentional (it feeds the translator, not the validator), but the name+behavior divergence from collectMdxFiles could confuse future maintainers. Consider a comment noting the distinction.

  3. Integration test for readme-translator pipeline: The current tests verify buildMainReadmeLanguageLinks but not that translateReadme() actually calls convertHtmlComments + sanitizeJsxAttributes on translated output. A mock-based test would catch future regressions in the sanitizer pipeline.


Verdict

VERDICT: APPROVED


Automated re-review · 2026-07-16 UTC

@hermes-exosphere hermes-exosphere 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.

Automated re-review: Approved. All 2078 tests pass, TypeScript compiles clean, lint clean, zero HTML comments remain in i18n docs. Both CodeRabbit threads are resolved. Three minor suggestions (non-blocking) in the summary comment above.

@hermes-exosphere hermes-exosphere 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.

Automated review: Approved. ✅

@NiveditJain
NiveditJain merged commit 5054243 into main Jul 16, 2026
11 checks passed
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.

2 participants