Skip to content

☂️ tests(cfg): coverage ☂️#11

Merged
alkalescent merged 15 commits intomasterfrom
fix/cov
Jan 20, 2026
Merged

☂️ tests(cfg): coverage ☂️#11
alkalescent merged 15 commits intomasterfrom
fix/cov

Conversation

@alkalescent
Copy link
Owner

No description provided.

@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @alkalescent, 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 refines the interstellar command-line interface by enhancing the 'digit mode' feature, making it more robust and user-friendly for handling numeric representations of mnemonic phrases. It centralizes and validates digit-to-word conversions, improves error reporting for invalid CLI inputs, and provides comprehensive documentation for integrating the tool with physical hardware backup solutions. The changes aim to bolster the reliability and clarity of the application, particularly for users performing secure, offline seed phrase management.

Highlights

  • Enhanced Digit Mode Functionality: Introduced a new helper function _convert_digits_to_words in src/interstellar/cli.py to centralize and validate the conversion of 1-indexed digit strings to words for both BIP39 and SLIP39 standards. This function now includes checks for zero-indexed and out-of-bounds digit inputs, improving robustness.
  • Improved CLI Error Handling: Replaced generic ValueError exceptions with typer.BadParameter for CLI argument validation in src/interstellar/cli.py, providing more specific and user-friendly error messages for invalid inputs.
  • Updated Documentation for Hardware Backups: Significantly expanded the README.md with a detailed 'Cryptotag Odin 7 Backup Guide'. This new section explains how to use interstellar to generate SLIP39 shares in digit format for physical engraving, including an overview of the splitting process, hexagon face layout, and reconstruction steps.
  • Refined Test Suite: Updated existing test assertions in tests/test_cli.py to check for result.exit_code != 0 instead of == 1, making them more resilient to various error exit codes. Crucially, new tests were added to specifically cover invalid digit inputs (zero-indexed and out-of-bounds) during the reconstruct process for both BIP39 and SLIP39, ensuring the new validation logic works as expected.
  • Minor Build and Gitignore Adjustments: The Makefile's cov target was simplified by removing specific --cov-report and --cov-fail-under flags, streamlining the coverage command. Additionally, misc was added to the .gitignore file.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

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.

Copy link
Contributor

@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 introduces several improvements, such as using typer.BadParameter for more user-friendly error messages and refactoring the digit-to-word conversion logic into a reusable helper function with accompanying tests. These are great changes. However, I have identified a few areas for improvement. The most critical issue is the removal of the code coverage enforcement in the Makefile, which lowers the project's quality gate. Additionally, there's a potential unhandled exception in the new helper function that should be addressed, and a documentation example in the README.md could be clarified to avoid user confusion.

@alkalescent alkalescent changed the title Fix/cov ☂️ tests(cfg): coverage ☂️ Jan 20, 2026
@github-actions
Copy link
Contributor

📦 Version Preview

  • Current version: v1.1.8
  • Bump type: pre-patch
  • Release version: v1.1.9
  • TestPyPI version: v1.1.9-rc.0

When this PR is merged, version will be bumped to v1.1.9.

To change the bump type, include in commit message: #major, #minor, or #patch

@alkalescent alkalescent merged commit adbe0d3 into master Jan 20, 2026
7 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.

1 participant