Skip to content

README sinh từ registry, kiểm tra nhẹ mỗi push, một release cho mỗi model - #1

Merged
meocong merged 1 commit into
masterfrom
models/standard-readme
Aug 13, 2026
Merged

README sinh từ registry, kiểm tra nhẹ mỗi push, một release cho mỗi model#1
meocong merged 1 commit into
masterfrom
models/standard-readme

Conversation

@meocong

@meocong meocong commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

Trả lời ba câu hỏi về cách tổ chức repo, kèm lý do:

  • Không chia thư mục theo loại. models/<id>/ phẳng; bảng chỉ mục nhóm theo task lúc render. Đường dẫn là địa chỉ, nhóm lại chỉ là cách nhìn — và models/asr/… sẽ lặp lại một sự thật manifest đã nói, rồi lệch.
  • README có phần sinh tự động giữa <!-- facts:start --><!-- facts:end -->, từ manifest trong summo-registry, kèm --check trong CI.
  • Một release cho một model, tag <id>-vN, version tăng bằng tay. Nhánh riêng mỗi model là hai mươi nhánh không bao giờ merge.

verify.py mặc định dùng HEAD thay vì tải cả file — vài GB mỗi push cho một câu hỏi "link còn sống không". Digest kiểm theo lịch mỗi tuần.

…ỗi model

Ba câu hỏi, ba câu trả lời có lý do.

**Không chia thư mục theo loại model.** `models/<id>/`, phẳng, và bảng chỉ mục
trong README nhóm theo `task` lúc hiển thị. `models/asr/…` sẽ ghi vào tên thư mục
một sự thật mà manifest đã nói — rồi hai bên lệch nhau, vì một model có thể phục
vụ hai nhiệm vụ, tên nhiệm vụ có thể đổi, và đổi tên thư mục làm chết mọi đường
dẫn trỏ vào nó. Nhóm lại là một *cách nhìn*; đường dẫn là một *địa chỉ*.

**README có phần sinh tự động.** Một README model chứa hai loại câu: sự thật về
artefact — giấy phép, dung lượng, có được phát tán lại không, đo được bao nhiêu —
và *vì sao model này có mặt trong sản phẩm*. Loại đầu registry đã là nguồn duy
nhất, nên nó nằm giữa hai dấu mốc và được `scripts/readme.py` viết lại; văn xuôi
bên ngoài không ai đụng vào. Viết tay thì nó trôi: export lại đổi digest và dung
lượng, manifest được cập nhật vì app đọc nó, còn tám README lặng lẽ giữ số của
hôm qua — không ai phát hiện vì không có gì đọc README. `--check` trong CI biến
"README cũ" thành build đỏ.

**Một release cho một model, tag `<id>-vN`, không phải nhánh riêng.** Nhánh là chỗ
cho thay đổi đang làm dở; release là chỗ cho artefact. Nhánh riêng mỗi model là
hai mươi nhánh không bao giờ merge và không bao giờ chết, mỗi cái trôi dần khỏi
script export trên master. Version tăng bằng tay chứ không theo ngày: export lại
là một quyết định, không phải một ngày trôi qua — và tag theo ngày sẽ đè lên
artefact mà manifest đã công bố đang trỏ tới. Workflow từ chối chạy nếu tag đã có.

Kèm theo, một thứ sẽ đắt dần: `verify.py` mặc định chỉ hỏi `HEAD` — file còn đó
không, dung lượng có đúng như manifest nói không — thay vì tải cả file về băm.
Băm cả danh mục là vài GB mỗi lần push (riêng hai bản MiLMMT đã 3.3 GB) cho một
câu hỏi mà câu trả lời gần như luôn là "link còn sống". Digest kiểm mỗi tuần một
lần bằng `--digest`.

Và xoá `models/milmmt-46/` — thư mục rỗng còn sót, trong khi hai model thật là
`milmmt-46-1b` và `milmmt-46-4b`.
@meocong
meocong merged commit 98e6ad5 into master Aug 13, 2026
8 checks passed
@meocong
meocong deleted the models/standard-readme branch August 13, 2026 09:52
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