Skip to content

Lớp vendored lên kit 2.17.0 — lối cho một hồ sơ nghỉ (giữ fork stale-scope) - #126

Merged
phanlemanh merged 2 commits into
mainfrom
chore/kit-2-17-0
Sep 20, 2026
Merged

phanlemanh merged 2 commits into
mainfrom
chore/kit-2-17-0

Conversation

@phanlemanh

Copy link
Copy Markdown
Owner

Kho này đang trả gì hôm nay

Cổng trước-merge của OneFlow đang chặn:

VIOLATION [normalize-text-vi]: evidence is stale — code changed after verify

Hồ sơ ấy đã có chữ ký người (Phan Le Manh, 27/08). Mã đổi sau lượt verify, nên món nợ «ghim lại» này không trả được bằng cách chạy lại — và luật làn eval nói pin chưa chứng là nợ ở mọi lượt chạy. Trước 2.17.0 chỉ còn hai lựa chọn: kẹt vĩnh viễn, hoặc sửa chữ ký. Chữ ký là sử liệu nên không được sửa.

Thứ nhận được

Một lời hứa đã ký mà món nợ không bao giờ trả được nay có lối ra: một dòng sổ có người, lý do và thời điểm. Hồ sơ thôi bị chấm ở phần còn lại của lưới; chữ ký ở lại nguyên vẹn làm sử liệu.

Dòng nghỉ chỉ ăn trên hồ sơ đã có chữ ký người. Thiếu bất kỳ vế nào thì cổng nói ra và tiếp tục chấm như hồ sơ đang sống — không có đường tắt im lặng.

Phạm vi và cách nâng

Ba tệp của INIT-CI-COPY-LIST đổi giữa 2.16.0 và 2.17.0; sáu tệp còn lại đã trùng khít 2.17.0 nên không chạm.

Tệp cổng là bản fork của kho này — cụm phạm vi hẹp feature_scope, giữ qua năm lượt nâng kit từ 1.38.0 — nên đi đường gộp ba chiều (nền 26bf12fe · của-ta là fork · của-họ là kit main). Gộp sạch, 0 xung đột; feature_scope còn nguyên bốn chỗ. Hai tệp lib/ chép nguyên bản. Tổng diff bằng đúng diff 26bf12fe→main của kit: +64 / +37 / +21.

Đã đo trên chính cây này (base origin/main~1)

kết quả
Trước khi nâng exit 1 — 1 vi phạm (normalize-text-vi cũ hoá)
Sau khi nâng exit 1, giống hệt từng dòng — nâng thước không tự đổi phán quyết, không sinh đợt ghim lại
Chiều đỏ — thêm dòng nghỉ đủ vế vào chính hồ sơ ấy exit 0, pre-merge-check: clean, cổng in NOTE gọi tên người + lý do
Chiều im — bỏ một vế khỏi dòng ấy (đo ở kho crm) cổng in «dòng nghỉ thiếu …», hồ sơ vẫn bị chấm bình thường

Việc còn lại là của anh

PR này không viết dòng nghỉ cho normalize-text-vi — dòng thử đã hoàn tác. Cho một hồ sơ nghỉ là quyết định của người, không phải của lượt nâng thước. Sau khi PR này vào main, một lệnh mở được cổng:

L=_acceptance/normalize-text-vi/decisions.jsonl; { printf '{"id":"d-%s-%s",' "$(date -u +%Y%m%dT%H%M%SZ)" "$(( $(cat "$L" 2>/dev/null | grep -c '') + 1 ))"; tr -d '\n' <<JSON; printf '}\n'; } >> "$L"
"type":"nghi","stage":"gate2","at":"$(date -u +%Y-%m-%dT%H:%M:%SZ)","by":"<tên anh>","decision":"<lý do một câu>","impact":"<hồ sơ thôi hứa gì>"
JSON

🤖 Generated with Claude Code

…ột hồ sơ nghỉ

Ba tệp của INIT-CI-COPY-LIST đổi giữa 2.16.0 và 2.17.0; sáu tệp còn lại đã
trùng khít 2.17.0 nên không chạm. Hai tệp lib chép nguyên bản. Tệp cổng là
bản fork của kho này (cụm phạm vi hẹp `feature_scope`, giữ qua năm lượt nâng
kit từ 1.38.0) nên đi đường gộp BA CHIỀU — nền 26bf12fe, của-ta là bản fork,
của-họ là kit main. Gộp sạch, 0 xung đột; diff (+64/+37/+21) bằng đúng diff
26bf12fe→main của kit, và `feature_scope` còn nguyên bốn chỗ.

Thứ kho này nhận được, đo trên chính cây này (base origin/main~1):

- TRƯỚC: cổng exit 1 — `normalize-text-vi` chặn merge vì bằng chứng cũ hoá,
  mã đổi sau lượt verify. Hồ sơ đã có chữ ký người (Phan Le Manh 27/08) và
  món nợ ghim lại này không trả được bằng cách chạy lại.
- SAU khi nâng: exit 1, GIỐNG HỆT từng dòng — nâng thước không tự đổi phán
  quyết, và không sinh đợt ghim lại nào.
- Chiều đỏ: thêm một dòng nghỉ đủ vế vào chính hồ sơ ấy → cổng in NOTE gọi
  tên người và lý do, exit 0, `clean`. Dòng thử đã hoàn tác: viết dòng nghỉ
  thật là quyết định của người, không phải của lượt nâng thước này.

Dòng nghỉ chỉ ăn trên hồ sơ đã có chữ ký người; thiếu bất kỳ vế nào (người ·
lý do · thời điểm) thì cổng nói ra và tiếp tục chấm như hồ sơ đang sống. Chữ
ký không bị sửa — nó ở lại làm sử liệu.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@phanlemanh

Copy link
Copy Markdown
Owner Author

Về ô đỏ «Acceptance Gate» của CI — nó có trước PR này, và nó chính là thứ PR này mở lối.

CI chạy pre-merge-check.sh . --base origin/main, khác chế độ tôi đo ở máy, nên nó gọi tên một lớp nợ khác của cùng một hồ sơ:

VIOLATION [normalize-text-vi]: re-pin lane "repin-normalize-text-vi-20260827-b" …
recorded no evals_exit

Tái dựng đúng lệnh ấy tại chỗ, trên nhánh này:

kết quả
như hiện tại 1 violation(s) — merge blocked
thêm một dòng nghỉ đủ vế vào normalize-text-vi pre-merge-check: clean

Dòng thử đã hoàn tác. Cả hai lớp nợ của hồ sơ ấy — bằng chứng cũ hoá, và làn ghim lại kiểu cũ — đều nằm sau cùng một lối miễn, nên một dòng nghỉ đóng cả hai.

Năm ô CI còn lại xanh. Việc còn lại là dòng nghỉ, và đó là quyết định của anh — lệnh ở phần cuối mô tả PR.

Một dòng sổ, không sửa gì khác. Chữ ký Cổng Bằng chứng (Phan Le Manh 27/08)
và toàn bộ bằng chứng ở lại nguyên vẹn làm sử liệu — hồ sơ chỉ thôi bị chấm ở
phần còn lại của lưới.

Lý do là quyết định của người: vật đã đi tiếp sau chữ ký, lời hứa của hồ sơ
không còn ứng với mã hôm nay, nên món nợ ghim lại không còn nghĩa để trả.

Hệ quả đo được, đúng lệnh CI (`--base origin/main`): trước 1 vi phạm — merge
bị chặn; sau `pre-merge-check: clean`, kèm NOTE gọi tên người và lý do. Hai lớp
nợ của hồ sơ này — bằng chứng cũ hoá và làn ghim lại kiểu cũ — cùng nằm sau một
lối miễn nên một dòng đóng cả hai.

Lối quay lại nếu quyết sai: một dòng `supersedes` trỏ id này, hồ sơ sống lại.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@phanlemanh
phanlemanh merged commit 389b6ee into main Sep 20, 2026
5 of 6 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