Skip to content

Add doc for Moonshine v2 models#806

Merged
csukuangfj merged 1 commit intomasterfrom
doc-moonshine-v2
Mar 3, 2026
Merged

Add doc for Moonshine v2 models#806
csukuangfj merged 1 commit intomasterfrom
doc-moonshine-v2

Conversation

@csukuangfj
Copy link
Copy Markdown
Collaborator

@csukuangfj csukuangfj commented Mar 3, 2026

Summary by CodeRabbit

Documentation

  • Added comprehensive Moonshine v2 model documentation supporting Arabic, Chinese, English, Japanese, Korean, Spanish, Ukrainian, and Vietnamese.
  • Expanded code examples and integration guides for multiple programming languages and platforms including Python, Java, JavaScript, and Rust.
  • Added HuggingFace Space documentation for Moonshine v2 models.

Chores

  • Updated build scripts to include Moonshine prebuild steps.

@csukuangfj csukuangfj requested a review from Copilot March 3, 2026 07:58
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Mar 3, 2026

Caution

Review failed

Pull request was closed or merged during review

📝 Walkthrough

Walkthrough

This PR adds comprehensive documentation for Moonshine v2 speech recognition models, including a Python generation script (generate_v2.py) that templates new model documentation, code example outputs for multiple languages, and updates to existing documentation files across multiple language/framework bindings to reference Moonshine v2 resources.

Changes

Cohort / File(s) Summary
Build Configuration
docs/Makefile, docs/source/onnx/moonshine/run.sh
Added run.sh to the SCRIPTS variable for prebuild execution and created the script to invoke generate_v2.py with error tracing.
Documentation Generation
docs/source/onnx/moonshine/generate_v2.py, docs/source/onnx/moonshine/tpl/model_v2.rst
Introduced Python generation script with helper functions to template and render Moonshine v2 model documentation, and created comprehensive template covering model downloads, decode workflows, microphone streaming, and Android deployment.
Generated Model Documentation
docs/source/onnx/moonshine/code/*.txt, docs/source/onnx/moonshine/generated/v2/*, docs/source/onnx/moonshine/models-v2.rst
Added 10 code example files capturing runtime logs for Moonshine models (base-ar, base-en, base-es, base-ja, base-uk, base-vi, base-zh, tiny-en, tiny-ja, tiny-ko) and created index to include generated documentation.
Moonshine Core Documentation
docs/source/onnx/moonshine/models.rst, docs/source/onnx/moonshine/index.rst, docs/source/onnx/moonshine/huggingface-space.rst
Added v1/v2 language support notes, expanded toctree with models-v2.rst and rust.rst, and created separate Moonshine v1 and v2 HuggingFace space sections.
Language/Framework API Bindings
docs/source/onnx/moonshine/c.rst, docs/source/onnx/moonshine/csharp.rst, docs/source/onnx/moonshine/dart.rst, docs/source/onnx/moonshine/go.rst, docs/source/onnx/moonshine/java.rst, docs/source/onnx/moonshine/javascript.rst, docs/source/onnx/moonshine/kotlin.rst, docs/source/onnx/moonshine/pascal.rst, docs/source/onnx/moonshine/python.rst, docs/source/onnx/moonshine/rust.rst, docs/source/onnx/moonshine/swift.rst
Updated documentation links and references to include Moonshine v2 examples for C, C\#, Dart, Go, Java, JavaScript/WebAssembly, Kotlin, Pascal, Python, Rust, and Swift APIs.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related issues

Possibly related PRs

Poem

🐰 Moonshine docs now shine bright and clear,
V2 models in many tongues appear!
Templates weave from code to prose,
While generation scripts compose,
A rabbit's joy in docs that glow! 🌙✨

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The PR title 'Add doc for Moonshine v2 models' directly and accurately summarizes the main change: adding comprehensive documentation for Moonshine v2 models, including new RST files, code examples, templates, and language-specific model documentation.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
  • 📝 Generate docstrings (stacked PR)
  • 📝 Generate docstrings (commit on current branch)
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch doc-moonshine-v2

Tip

Try Coding Plans. Let us write the prompt for your AI agent so you can ship faster (with fewer bugs).
Share your feedback on Discord.


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 and usage tips.

@gemini-code-assist
Copy link
Copy Markdown

Summary of Changes

Hello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request significantly expands the documentation for the Moonshine automatic speech recognition models by introducing a new version, Moonshine v2. This update brings multilingual capabilities, supporting a wide array of languages, and provides updated code examples across various programming languages to facilitate easier adoption and integration. The changes streamline the documentation process through automated generation and enhance user accessibility by updating the Huggingface Space instructions.

Highlights

  • Moonshine v2 Model Documentation: Introduced comprehensive documentation for the new Moonshine v2 models, detailing their usage and features.
  • Multilingual Support: Added support for several new languages in Moonshine v2, including Arabic, Chinese, English, Japanese, Korean, Spanish, Ukrainian, and Vietnamese.
  • API Example Updates: Updated API examples across multiple programming languages (C, C#, Dart, Go, Java, JavaScript, Kotlin, Pascal, Python, Rust, Swift) to demonstrate the integration and usage of Moonshine v2 models.
  • Automated Documentation Generation: Implemented a Python script using Jinja2 to automate the generation of individual documentation pages for each Moonshine v2 model, ensuring consistency and ease of maintenance.
  • Huggingface Space Integration: Updated the Huggingface Space documentation to include instructions for trying out the new Moonshine v2 multilingual models.
Changelog
  • docs/Makefile
    • Added a new script source/onnx/moonshine/run.sh to the documentation build process.
  • docs/source/onnx/moonshine/c.rst
    • Updated C and C++ API examples to include Moonshine v2 specific files.
    • Changed 'example' to 'examples' to reflect multiple entries.
  • docs/source/onnx/moonshine/code/base-ar.txt
    • Added example output for the Arabic Moonshine v2 base model.
  • docs/source/onnx/moonshine/code/base-en.txt
    • Added example output for the English Moonshine v2 base model.
  • docs/source/onnx/moonshine/code/base-es.txt
    • Added example output for the Spanish Moonshine v2 base model.
  • docs/source/onnx/moonshine/code/base-ja.txt
    • Added example output for the Japanese Moonshine v2 base model.
  • docs/source/onnx/moonshine/code/base-uk.txt
    • Added example output for the Ukrainian Moonshine v2 base model.
  • docs/source/onnx/moonshine/code/base-vi.txt
    • Added example output for the Vietnamese Moonshine v2 base model.
  • docs/source/onnx/moonshine/code/base-zh.txt
    • Added example output for the Chinese Moonshine v2 base model.
  • docs/source/onnx/moonshine/code/tiny-en.txt
    • Added example output for the tiny English Moonshine v2 model.
  • docs/source/onnx/moonshine/code/tiny-ja.txt
    • Added example output for the tiny Japanese Moonshine v2 model.
  • docs/source/onnx/moonshine/code/tiny-ko.txt
    • Added example output for the tiny Korean Moonshine v2 model.
  • docs/source/onnx/moonshine/csharp.rst
    • Updated C# API examples to include Moonshine v2 specific files.
  • docs/source/onnx/moonshine/dart.rst
    • Updated Dart API examples to include Moonshine v2 specific files.
  • docs/source/onnx/moonshine/generate_v2.py
    • Added a Python script to generate Moonshine v2 model documentation using Jinja2 templates.
  • docs/source/onnx/moonshine/generated/v2/.gitignore
    • Added a gitignore file to exclude generated RST files.
  • docs/source/onnx/moonshine/go.rst
    • Updated Go API examples to include Moonshine v2 specific files.
  • docs/source/onnx/moonshine/huggingface-space.rst
    • Added a new section for Moonshine v2 models and clarified the Moonshine v1 section.
  • docs/source/onnx/moonshine/index.rst
    • Added models-v2.rst and rust.rst to the table of contents.
  • docs/source/onnx/moonshine/java.rst
    • Added Java API example for Moonshine v2.
  • docs/source/onnx/moonshine/javascript.rst
    • Added JavaScript API examples for Moonshine v2.
  • docs/source/onnx/moonshine/kotlin.rst
    • Added Kotlin API example for Moonshine v2.
  • docs/source/onnx/moonshine/models-v2.rst
    • Added a new documentation page to include generated Moonshine v2 model documentation.
  • docs/source/onnx/moonshine/models.rst
    • Updated the Moonshine v1 models page with a note distinguishing it from v2 and linking to the new v2 models page.
  • docs/source/onnx/moonshine/pascal.rst
    • Added Pascal API example for Moonshine v2.
  • docs/source/onnx/moonshine/python.rst
    • Added Python API example for Moonshine v2.
  • docs/source/onnx/moonshine/run.sh
    • Added a shell script to execute the generate_v2.py script.
  • docs/source/onnx/moonshine/rust.rst
    • Added a new documentation page for Rust API examples for Moonshine v2.
  • docs/source/onnx/moonshine/swift.rst
    • Added Swift API example for Moonshine v2.
  • docs/source/onnx/moonshine/tpl/model_v2.rst
    • Added a Jinja2 template for generating individual Moonshine v2 model documentation pages.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@csukuangfj csukuangfj merged commit 5a398ad into master Mar 3, 2026
2 of 3 checks passed
@csukuangfj csukuangfj deleted the doc-moonshine-v2 branch March 3, 2026 08:00
Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request adds extensive documentation for the Moonshine v2 models, including a new Python script for generating documentation pages from templates, numerous new .rst files with model details and usage examples, and updates to existing documentation to link to the new content. My review focuses on improving the new generation script for correctness and efficiency, fixing some typos in the documentation files, and addressing an indentation inconsistency in the Makefile.

Comment thread docs/Makefile
Comment on lines +14 to +15
source/onnx/pretrained_models/offline-ctc/wenet/run.sh \
source/onnx/moonshine/run.sh
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

medium

The indentation in the SCRIPTS variable definition is inconsistent. Line 13 uses spaces, while lines 14 and 15 use tabs. For consistency, it's better to use spaces for indentation in this block.

    source/onnx/pretrained_models/offline-ctc/wenet/run.sh \
    source/onnx/moonshine/run.sh

Comment on lines +7 to +17
code2lang = {
"ko": "Korea",
"ja": "Japanese",
"en": "English",
"zh": "Chinese",
"vi": "Vietnamese",
"uk": "Ukrainian",
"ja": "Japanese",
"es": "Spanish",
"ar": "Arabic",
}
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

medium

There are a couple of issues in the code2lang dictionary:

  1. The key 'ja' is duplicated. While this doesn't cause a runtime error, it's redundant. Please remove one of the entries.
  2. The value for 'ko' is 'Korea', which is a country name. It should be 'Korean' to be consistent with other language names (e.g., 'Japanese', 'English').
    code2lang = {
        "ko": "Korean",
        "ja": "Japanese",
        "en": "English",
        "zh": "Chinese",
        "vi": "Vietnamese",
        "uk": "Ukrainian",
        "es": "Spanish",
        "ar": "Arabic",
    }

Comment on lines +48 to +49
env = Environment(loader=FileSystemLoader("."))
template = env.get_template(f"./tpl/model_v2.rst")
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

medium

The Jinja2 Environment and template are being initialized inside the loop. This is inefficient as they are the same for every iteration. It's better to initialize them once before the loop starts.

For example:

def main():
    # ...
    env = Environment(loader=FileSystemLoader("."))
    template = env.get_template(f"./tpl/model_v2.rst")
    for m in models:
        # ... now use env and template inside the loop

@@ -0,0 +1,16 @@
.. _moonsine-models-v2:
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

medium

There is a typo in the reference label. It should be moonshine-models-v2 instead of moonsine-models-v2.

Suggested change
.. _moonsine-models-v2:
.. _moonshine-models-v2:

@@ -1,6 +1,15 @@
.. _moonsine-models-v1:
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

medium

There is a typo in the reference label. It should be moonshine-models-v1 instead of moonsine-models-v1.

Suggested change
.. _moonsine-models-v1:
.. _moonshine-models-v1:


This page is for Moonshine v1, which supports only English.

Please see :ref:`moonsine-models-v2` for models supporting
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

medium

There is a typo in the reference. It should be :ref:moonshine-models-v2`` to match the corrected label in models-v2.rst.

Suggested change
Please see :ref:`moonsine-models-v2` for models supporting
Please see :ref:`moonshine-models-v2` for models supporting

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Adds documentation scaffolding for Moonshine v2 ONNX models (multi-language) and wires generation into the docs build so the v2 model pages can be produced automatically.

Changes:

  • Add a Jinja2-based generator + template to produce per-model Moonshine v2 documentation pages and include them from a new models-v2.rst.
  • Extend Moonshine language-specific API example pages (C/C#/Go/Java/JS/Pascal/Python/Rust/Swift/etc.) with v2 example links.
  • Update the docs build (docs/Makefile) to run the Moonshine v2 doc generator during make html.

Reviewed changes

Copilot reviewed 29 out of 30 changed files in this pull request and generated 9 comments.

Show a summary per file
File Description
docs/source/onnx/moonshine/tpl/model_v2.rst New Jinja template for per-model Moonshine v2 docs.
docs/source/onnx/moonshine/generate_v2.py New generator script that renders v2 model docs from the template.
docs/source/onnx/moonshine/run.sh Adds a prebuild entrypoint to run the v2 docs generator.
docs/source/onnx/moonshine/generated/v2/.gitignore Ignores generated v2 .rst outputs in git.
docs/source/onnx/moonshine/models-v2.rst New v2 models index that includes generated per-model pages.
docs/source/onnx/moonshine/models.rst Adds a note clarifying this page is for v1 + links to v2 models.
docs/source/onnx/moonshine/index.rst Adds models-v2.rst and rust.rst to the Moonshine toctree.
docs/source/onnx/moonshine/huggingface-space.rst Splits Hugging Face Space instructions for v1 vs v2 usage.
docs/source/onnx/moonshine/rust.rst New Rust v2 example links page.
docs/source/onnx/moonshine/swift.rst Adds Swift v2 example link.
docs/source/onnx/moonshine/python.rst Adds Python v2 example link.
docs/source/onnx/moonshine/pascal.rst Adds Pascal v2 example link.
docs/source/onnx/moonshine/kotlin.rst Adds Kotlin v2 example link.
docs/source/onnx/moonshine/javascript.rst Adds Node.js + node-addon v2 example links.
docs/source/onnx/moonshine/java.rst Adds Java v2 example link.
docs/source/onnx/moonshine/go.rst Adds Go v2 example links and reformats as lists.
docs/source/onnx/moonshine/dart.rst Fixes Moonshine link + adds Dart v2 example link.
docs/source/onnx/moonshine/csharp.rst Adds C# v2 example links and reformats as lists.
docs/source/onnx/moonshine/c.rst Adds C/C++ v2 example links and reformats as lists.
docs/source/onnx/moonshine/code/base-ar.txt Adds captured decode output used by v2 model docs.
docs/source/onnx/moonshine/code/base-en.txt Adds captured decode output used by v2 model docs.
docs/source/onnx/moonshine/code/base-es.txt Adds captured decode output used by v2 model docs.
docs/source/onnx/moonshine/code/base-ja.txt Adds captured decode output used by v2 model docs.
docs/source/onnx/moonshine/code/base-uk.txt Adds captured decode output used by v2 model docs.
docs/source/onnx/moonshine/code/base-vi.txt Adds captured decode output used by v2 model docs.
docs/source/onnx/moonshine/code/base-zh.txt Adds captured decode output used by v2 model docs.
docs/source/onnx/moonshine/code/tiny-en.txt Adds captured decode output used by v2 model docs.
docs/source/onnx/moonshine/code/tiny-ja.txt Adds captured decode output used by v2 model docs.
docs/source/onnx/moonshine/code/tiny-ko.txt Adds captured decode output used by v2 model docs.
docs/Makefile Runs Moonshine docs generation during make html prebuild.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines 6 to +7
`<https://github.com/k2-fsa/sherpa-onnx/blob/master/kotlin-api-examples/test_offline_asr.kt>`_
`<https://github.com/k2-fsa/sherpa-onnx/blob/master/kotlin-api-examples/test_offline_moonshine_asr_v2.kt>`_
Copy link

Copilot AI Mar 3, 2026

Choose a reason for hiding this comment

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

These two links are rendered as two separate paragraphs rather than a list, unlike other language pages updated in this PR. Use a bullet list ("- ...") or otherwise format them consistently so both links display correctly.

Suggested change
`<https://github.com/k2-fsa/sherpa-onnx/blob/master/kotlin-api-examples/test_offline_asr.kt>`_
`<https://github.com/k2-fsa/sherpa-onnx/blob/master/kotlin-api-examples/test_offline_moonshine_asr_v2.kt>`_
- `<https://github.com/k2-fsa/sherpa-onnx/blob/master/kotlin-api-examples/test_offline_asr.kt>`_
- `<https://github.com/k2-fsa/sherpa-onnx/blob/master/kotlin-api-examples/test_offline_moonshine_asr_v2.kt>`_

Copilot uses AI. Check for mistakes.
Real-time/streaming speech recognition on Android
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Pease visit `<https://k2-fsa.github.io/sherpa/onnx/android/apk.html>`_
Copy link

Copilot AI Mar 3, 2026

Choose a reason for hiding this comment

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

Typo: "Pease visit" should be "Please visit".

Suggested change
Pease visit `<https://k2-fsa.github.io/sherpa/onnx/android/apk.html>`_
Please visit `<https://k2-fsa.github.io/sherpa/onnx/android/apk.html>`_

Copilot uses AI. Check for mistakes.
Comment on lines +8 to +14
"ko": "Korea",
"ja": "Japanese",
"en": "English",
"zh": "Chinese",
"vi": "Vietnamese",
"uk": "Ukrainian",
"ja": "Japanese",
Copy link

Copilot AI Mar 3, 2026

Choose a reason for hiding this comment

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

The language name for "ko" is set to "Korea" (a country) and the dict contains a duplicated "ja" key. This will render incorrect language names in the generated docs; use "Korean" for ko and remove the duplicate entry.

Suggested change
"ko": "Korea",
"ja": "Japanese",
"en": "English",
"zh": "Chinese",
"vi": "Vietnamese",
"uk": "Ukrainian",
"ja": "Japanese",
"ko": "Korean",
"ja": "Japanese",
"en": "English",
"zh": "Chinese",
"vi": "Vietnamese",
"uk": "Ukrainian",

Copilot uses AI. Check for mistakes.
Comment on lines +50 to +60
with open(f"./code/{m}.txt") as f:
decode_out = f.read()

output = template.render(
model_name=get_name(m),
lang=get_lang(m),
url=get_url(m),
apk_name=get_apk_name(m),
m=m,
decode_out=decode_out,
)
Copy link

Copilot AI Mar 3, 2026

Choose a reason for hiding this comment

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

decode_out is read from ./code/{m}.txt and passed into the template render, but the template uses literalinclude and never references decode_out. This is dead code; either remove the read/render parameter, or update the template to use the variable.

Copilot uses AI. Check for mistakes.
Comment on lines +1 to +11
.. _moonsine-models-v1:

Models
======

.. note::

This page is for Moonshine v1, which supports only English.

Please see :ref:`moonsine-models-v2` for models supporting
Arabic, Chinese, English, Japanese, Korean, Spanish, Ukrainian, and Vietnamese.
Copy link

Copilot AI Mar 3, 2026

Choose a reason for hiding this comment

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

The section labels use "moonsine" (missing "h") in both the anchor and the cross-reference. While the ref resolves internally, the misspelling makes external linking/error search confusing; consider renaming to "moonshine-models-v1" / "moonshine-models-v2" and updating the :ref: accordingly.

Copilot uses AI. Check for mistakes.
Comment on lines +47 to +49
for m in models:
env = Environment(loader=FileSystemLoader("."))
template = env.get_template(f"./tpl/model_v2.rst")
Copy link

Copilot AI Mar 3, 2026

Choose a reason for hiding this comment

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

Environment(...) and get_template(...) are recreated on every iteration of the model loop, which is unnecessary and makes the script harder to modify. Create the Jinja environment/template once before the loop and reuse it.

Suggested change
for m in models:
env = Environment(loader=FileSystemLoader("."))
template = env.get_template(f"./tpl/model_v2.rst")
env = Environment(loader=FileSystemLoader("."))
template = env.get_template("./tpl/model_v2.rst")
for m in models:

Copilot uses AI. Check for mistakes.
for m in models:
env = Environment(loader=FileSystemLoader("."))
template = env.get_template(f"./tpl/model_v2.rst")
with open(f"./code/{m}.txt") as f:
Copy link

Copilot AI Mar 3, 2026

Choose a reason for hiding this comment

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

The file ./code/{m}.txt contains non-ASCII text (e.g., Korean/Japanese), but it's opened without an explicit encoding. To avoid platform-dependent failures (notably on Windows), open it with encoding="utf-8".

Suggested change
with open(f"./code/{m}.txt") as f:
with open(f"./code/{m}.txt", encoding="utf-8") as f:

Copilot uses AI. Check for mistakes.
.. _moonsine-models-v2:

Models v2
========
Copy link

Copilot AI Mar 3, 2026

Choose a reason for hiding this comment

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

The underline for the title "Models v2" is shorter than the title text (8 '=' vs 9 chars). In reStructuredText, the underline must be at least as long as the title, otherwise Sphinx/docutils may emit warnings or mis-parse the section.

Suggested change
========
=========

Copilot uses AI. Check for mistakes.
@@ -0,0 +1,16 @@
.. _moonsine-models-v2:
Copy link

Copilot AI Mar 3, 2026

Choose a reason for hiding this comment

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

The anchor label is spelled "moonsine" (missing "h"). If you rename v1 to "moonshine-models-v1" as well, please keep v2 consistent (e.g., "moonshine-models-v2").

Suggested change
.. _moonsine-models-v2:
.. _moonshine-models-v2:

Copilot uses AI. Check for mistakes.
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