Skip to content

chore: add MIT license, CI tests and English README summary - #1

Open
NKBaa wants to merge 1 commit into
mainfrom
chore/license-ci-metadata
Open

NKBaa wants to merge 1 commit into
mainfrom
chore/license-ci-metadata

Conversation

@NKBaa

@NKBaa NKBaa commented Oct 21, 2026

Copy link
Copy Markdown
Owner

This closes the three gaps that made the project unusable by anyone but me.

What changed

1. MIT LICENSE
The repo had none, which means "all rights reserved": nobody could legally fork it, ship it in a package manager, or depend on it. This is the single reason the fork count was 0. MIT matches what the rest of this space uses (
cmdump, most NCM tools).

2. CI — .github/workflows/tests.yml

  • Runs ests/test_decoders.py on windows-latest / Python 3.12 for every push and PR.
  • Installs only pycryptodomex + mutagen — the two packages the decoder tests actually import. PySide6, rida and pyinstaller are needed to build the EXE, not to test the decoders, and they are heavy.
  • On a �* tag: computes the SHA-256 of the release EXE and uploads it as a SHA256SUMS.txt asset, so the checksum quoted in the release notes can be verified independently instead of trusted.

3. README English summary
Roughly 10 lines up top covering what it does and the two real differentiators — honest format status ("recognized" ≠ "decoded") and the atomic write path. Without this, the project was invisible to anyone searching in English.

4. .gitignore — ignore ests/.tmp/.

Test status — please read

Locally I get 4 passed, 4 skipped, 2 errors, and both errors are my sandbox, not the code:

Test Result Cause
est_key_cache_round_trip error PermissionError writing into a mkdtemp dir — this environment blocks writes to freshly created temp dirs
est_transcode_audio_builds_mp3_command error same: ranscode_audio() writes input.flac into its temp dir

I verified both by hand with fixed (non-temp) directories: the key-cache round trip returns �key-value, and the FFmpeg command is correctly built with libmp3lame + 192k and the output read back. CI on windows-latest should pass; if it doesn't, it's a real finding and I'll fix it here rather than merge.

The 4 skipped tests need KGM_FIXTURE from .references/, which is gitignored and not in CI.

Still open (separate PRs)

  • pip install-able package split out of decoders.py — this is what makes the "monthly downloads" number measurable at all.
  • README: comparison table vs
    cmdump / Kugo-Music-Converter.

- LICENSE: MIT, so the project can actually be forked, packaged and
  depended on. The repository previously had no license, which left every
  downstream use in a legal grey zone.
- CI: run tests/test_decoders.py on windows-latest / Python 3.12 for every
  push and pull request. On a v* tag, compute the SHA-256 of the release
  EXE and publish it as an asset, so the checksum quoted in release notes
  can be verified independently.
- README: short English summary plus the two differentiators (honest
  format status, atomic write path) for non-Chinese readers.
- .gitignore: ignore tests/.tmp scratch directory.
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 21, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-21T10:31:17.129616Z a432b3d PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to 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" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: a432b3d4b0

ℹ️ About Codex in GitHub

Your team has set up Codex to 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 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

GH_TOKEN: ${{ github.token }}
run: |
$tag = "${{ github.ref_name }}"
$exe = Get-ChildItem -Path . -Filter "*.exe" -File | Select-Object -First 1

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Download the release executable before hashing

For every v* tag, this job only checks out the tracked source tree and then searches its root for an executable; no preceding step builds the application, transfers a build artifact, or downloads the executable already attached to the release. Because the repository contains no tracked .exe, this branch always reaches the successful early exit and never publishes SHA256SUMS.txt; rerunning it after uploading the release asset does not change the checkout. Download the release asset or pass a built artifact into this job before computing the hash.

Useful? React with 👍 / 👎.

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