diff --git a/README.en.md b/README.en.md index b062272..2e5c684 100644 --- a/README.en.md +++ b/README.en.md @@ -44,15 +44,21 @@ field ready; the app switches to the next source itself when one dies. This is a **legal** constraint, not a technical one: -| Model | Licence | Published here? | -|---|---|---| -| `small100` | MIT (original model) + our export | ✅ yes | -| `gipformer-65m` | MIT | ✅ yes (mirror) | -| `whisper-tiny` | Apache-2.0 | ✅ yes (mirror) | -| `silero-vad-v5` | MIT | ✅ yes (mirror) | -| `campplus-sv` | Apache-2.0 | ✅ yes (mirror) | -| `sense-voice-small` | FunASR Model Open Source License v1.1 | ❌ **no** — points straight upstream | -| `milmmt-46-1b/4b` | Gemma Terms of Use | ❌ **no** — points straight upstream | +| Model | Licence | Published here? | Tag | +|---|---|---|---| +| `small100` | MIT (original model) + our export | ✅ our export | `small100-v1` | +| `gipformer-65m` | MIT | ✅ mirror | `gipformer-65m-v1` | +| `whisper-tiny` | MIT | ✅ mirror | `whisper-tiny-v1` | +| `silero-vad-v5` | MIT | ✅ mirror | `silero-vad-v5-v1` | +| `campplus-sv` | Apache-2.0 | ✅ mirror | `campplus-sv-v1` | +| `sense-voice-small` | FunASR Model Open Source License v1.1 | ❌ **no** — points straight upstream | | +| `milmmt-46-1b/4b` | Gemma Terms of Use | ❌ **no** — points straight upstream | | + +That last column was empty for weeks while this table said "✅ yes (mirror)". The manifests carried +one upstream URL each and an empty `mirror` list, so every install of the default Vietnamese model +depended on one HuggingFace repository keeping its filenames. The 11 files are now release assets +here, checked against the manifest sha256 in both directions: after downloading from upstream, and +after downloading back out of the release. The manifests for the last two groups are marked `redistributable: false`, and `summo registry check` **refuses** any manifest that points a non-redistributable model at our own diff --git a/README.md b/README.md index 613a5f2..2eb6336 100644 --- a/README.md +++ b/README.md @@ -40,15 +40,20 @@ chuyển sang nguồn tiếp theo khi một nguồn chết. Đây là ràng buộc **pháp lý**, không phải kỹ thuật: -| Model | Giấy phép | Phát hành ở đây? | -|---|---|---| -| `small100` | MIT (model gốc) + export của chúng tôi | ✅ có | -| `gipformer-65m` | MIT | ✅ có (mirror) | -| `whisper-tiny` | Apache-2.0 | ✅ có (mirror) | -| `silero-vad-v5` | MIT | ✅ có (mirror) | -| `campplus-sv` | Apache-2.0 | ✅ có (mirror) | -| `sense-voice-small` | FunASR Model Open Source License v1.1 | ❌ **không** — trỏ thẳng nguồn gốc | -| `milmmt-46-1b/4b` | Gemma Terms of Use | ❌ **không** — trỏ thẳng nguồn gốc | +| Model | Giấy phép | Phát hành ở đây? | Tag | +|---|---|---|---| +| `small100` | MIT (model gốc) + export của chúng tôi | ✅ export của chúng tôi | `small100-v1` | +| `gipformer-65m` | MIT | ✅ mirror | `gipformer-65m-v1` | +| `whisper-tiny` | MIT | ✅ mirror | `whisper-tiny-v1` | +| `silero-vad-v5` | MIT | ✅ mirror | `silero-vad-v5-v1` | +| `campplus-sv` | Apache-2.0 | ✅ mirror | `campplus-sv-v1` | +| `sense-voice-small` | FunASR Model Open Source License v1.1 | ❌ **không** — trỏ thẳng nguồn gốc | | +| `milmmt-46-1b/4b` | Gemma Terms of Use | ❌ **không** — trỏ thẳng nguồn gốc | | + +Cột "Tag" từng trống trong nhiều tuần: bảng này ghi "✅ có (mirror)" trong khi manifest chỉ có đúng +một URL upstream và `mirror` rỗng. Nghĩa là mọi lượt cài model tiếng Việt mặc định phụ thuộc vào một +repo HuggingFace giữ nguyên tên file. Nay 11 file đã nằm trong Releases của repo này, đối chiếu +sha256 hai chiều: sau khi tải từ upstream, và sau khi tải ngược từ release. Manifest của hai nhóm cuối đánh dấu `redistributable: false`, và `summo registry check` **từ chối** một manifest nào trỏ model không được phát tán vào CDN của chúng tôi. Kiểm tra đó chạy trong CI của